记录一下stm32 uboot向app传递信息的实践-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 91196
  • 博文数量: 150
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 977
  • 用 户 组: 普通用户
  • 注册时间: 2022-03-12 10:39
个人简介

不积小流,无以成江海。

文章分类

全部博文(150)

文章存档

2024年(10)

2023年(50)

2022年(90)

我的朋友
相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: 嵌入式

2024-02-20 09:04:15

背景:
stm32 uboot代码没有版本号,在app程序中无法获取到,不好维护uboot代码。
思路:
本想在app升级时,通过上位机与uboot代码的通信来获取到uboot的版本,然后记录到日志中。组长说uboot和app应该能通信,遂搜索了下,基本确认可以通过备份寄存器的方式完成。

搜到的帖子:
1、stm32 boot和app之间的数据传递
https://blog.csdn.net/micky613/article/details/134276489
个人点评:介绍了典型方法的原理,重要。
2、stm32备份寄存器的配置与使用
https://blog.csdn.net/william_zhang_csdn/article/details/106214014?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-8-106214014-blog-129581291.235^v43^control&spm=1001.2101.3001.4242.5&utm_relevant_index=11
个人点评:演示了备份寄存器的使用,可以参考
3、读写bkp&实时时钟
https://blog.csdn.net/m0_70732442/article/details/131941050
个人点评:读写bkp以及rtc的演示程序,比较重要

个人实践代码:
用了3个寄存器:bkp_dr1、bkp_dr2、bkp_dr3。
uboot中写入这3个寄存器,表示年、月、日,app中来读。

注意:先用使能时钟和访问开关,才能写。
    rcc_apb1periphclockcmd(rcc_apb1periph_pwr,enable);
    rcc_apb1periphclockcmd(rcc_apb1periph_bkp,enable);
    pwr_backupaccesscmd(enable);
    bkp_writebackupregister(bkp_dr1, 2024);
    bkp_writebackupregister(bkp_dr2, 2);    
    bkp_writebackupregister(bkp_dr3, 19);

app中读:
    rcc_apb1periphclockcmd(rcc_apb1periph_pwr,enable);
    rcc_apb1periphclockcmd(rcc_apb1periph_bkp,enable);
    pwr_backupaccesscmd(enable);
    g_bkp_dr1 = bkp_readbackupregister(bkp_dr1);
    g_bkp_dr2 = bkp_readbackupregister(bkp_dr2);
    g_bkp_dr3 = bkp_readbackupregister(bkp_dr3);

阅读(49) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图