OTA升级
复制代码
1
2
3
41:实现在线升级整体程序(基于stm32F4) 2:本次为编写关键点记录
bootload 工程事项
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
271: 前期准备事项 1>修改ROM大小,该大小是项目的使用的ROM空间也是跳转app的首地址stm32f407使用(0x8000) 2>编写汇编设置并跳转MSP __asm void SET_MSP(uint32_t addr) { MSR MSP,r0 BX r14 } 3>定义函数指针 typedef void (*iapfun)(void); iapfun jumpapp; 4>编写跳转函数 void iap_load_app(uint32_t app_addr) { //检查栈顶地址是否合法 if(((*(uint32_t*)app_addr)&0x2FFE0000)==0x20000000) { jump2app = (iapfun)*(uint32_t*)(app_addr + 4); SET_MSP(*(uint32_t*)app_addr); jump2app(); }else printf("栈顶地址错误n"); } 2: main中判断是否有更新,这里只有跳转处理 if(flag == "y"){ if(((*(uint32_t*)(APP1_ADDR+4))&0xFF000000)==0x08000000) iap_
最后
以上就是美丽朋友最近收集整理的关于STM32 OTA 升级的全部内容,更多相关STM32内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复