论坛首页
任务活动
问答
论坛专题
登录
注册
发给她更好fh
+ 关注
粉丝
1
|
主题
43
|
回帖
563
加好友
私信
帖子
主题
回复
评论
STM32F4单片机bootloader及在线升级IAP基本原理
2025-3-10 21:33
ST MCU
87
6051
偏移设置原位置在启动文件中对应的系统初始化void SystemInit(void)中,因此在每一份程序的main函数要要增 ...
......
APP中升级处理 讲APP中升级处理前,先将一下APP区代码的结构,如下所示,不同分区中每一份代码都要包含三部 ...
这个增加了一个按键选择功能,帮助测试APP1和APP2区代码的跳转。
源码: #include #include "stm32_flash.h" #include "App_Init.h" int main(void) { GPIO_InitTypeD ...
......
BootLoader2的方案也很简单根据跳转标志跳转至APP1还是APP2,否则停留在当前BootLoader2中,同时进行将相对 ...
源码如下: int main(void) { while(1) { if(((*(vu32*)(0x08008000+4))&0xFF000000)==0x08000000)/ ...
......
BootLoader设计 然后是BootLoader设计,BootLoader1的功能就是引导跳转至BootLoader2区,跳过flag区。 ...
升级方案设计 升级方案如下图所示
目前标志位存两个变量,一个是用于跳转的flag当值为0x11时BootLoader2引导跳转至APP1区,当值为0x22时跳转 ...
标志位区内容、
BootLoader2占空扇区2-4,大小96k。sector5-7存储APP1,sector8-10存储APP2.最后sector11预留使用。 ...
首先需要根据flash的情况进行分区确定每个扇区的功能,这次采用双BootLoader的设置,使用BootLoader1跳过se ...
flash分区
iap升级实例 这里以我测试用的双区模式为例,使用一个标志位进行APP1和APP2区域的切换。只讲基本过程,具体 ...
第一种比较好实现,缺点就是每次升级都需要做一次代码的对调。第二种比较难以实现,因为flash中中断向量表 ...
双区模式,代码备份功能具备,当然对应的对于小容量产品就显的比较占用空间。双区模式又根据APP区的用法分 ...
自定义bootloader+app1+app2、
前一页
6
7
8
9
10
11
12
后一页
2
3
近期访客