打印
[STM32F4]

407系统在做IAP功能,有问题请教!

[复制链接]
854|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzzly|  楼主 | 2022-3-31 13:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果APP代码区有有效的APP代码,则IAP代码启动后执行跳转指令使CPU执行APP程序,否则IAP要等待更新APP代码。IAP代码如何知道APP代码区是否有有效的APP代码?谢谢!

使用特权

评论回复
沙发
香水城| | 2022-3-31 13:53 | 只看该作者
一般来讲,IAP跳过去前都会检查下APP的起始地址是否有设置合适栈变量。

類似這句

   if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)

使用特权

评论回复
板凳
yzzly|  楼主 | 2022-3-31 14:07 | 只看该作者
香水城 发表于 2022-3-31 13:53
一般来讲,IAP跳过去前都会检查下APP的起始地址是否有设置合适栈变量。

類似這句

谢谢,立马见效!

使用特权

评论回复
地板
corerocky| | 2022-3-31 19:54 | 只看该作者
在IAP里写APP的时候,计算整个APP的和校验,写进某个FLASH地址里,每次开机必须校验一次APP,校验码跟之前写的校验码一致才允许跳转!!!

使用特权

评论回复
5
QuakeGod| | 2022-3-31 22:54 | 只看该作者
corerocky 发表于 2022-3-31 19:54
在IAP里写APP的时候,计算整个APP的和校验,写进某个FLASH地址里,每次开机必须校验一次APP,校验码跟之前 ...

没错,这样可以防止万一更新APP的时候出错中断,下次不进IAP,直接进APP,然后死机,再也救不回来了。

使用特权

评论回复
6
ayb_ice| | 2022-4-1 08:35 | 只看该作者
可以简单的检查某个位置是否有特定的字符串,这个字符串最好是放在APP的最后的地址,因为一般要先擦除整个APP,烧录的时候是最后写字符串,所以字符串有效,APP肯定有效,当然还有其它方法

使用特权

评论回复
7
yzzly|  楼主 | 2022-4-1 09:51 | 只看该作者
corerocky 发表于 2022-3-31 19:54
在IAP里写APP的时候,计算整个APP的和校验,写进某个FLASH地址里,每次开机必须校验一次APP,校验码跟之前 ...

谢谢!就是按字节计算累加和?

使用特权

评论回复
8
corerocky| | 2022-4-28 11:21 | 只看该作者
yzzly 发表于 2022-4-1 09:51
谢谢!就是按字节计算累加和?

具体怎么校验可以自己定义,CRC校验用得多

使用特权

评论回复
9
skyred| | 2022-4-28 15:53 | 只看该作者
我用的是标志位

使用特权

评论回复
10
liu96jp| | 2022-6-8 14:33 | 只看该作者
加一个标志位就好了啊

使用特权

评论回复
11
zhizia4f| | 2022-6-8 15:10 | 只看该作者
这个是读取标记的,标记有效则代表代码有效就可以了

使用特权

评论回复
12
su1yirg| | 2022-6-8 15:32 | 只看该作者
你可以加个标记位,代表这个app是否OK

使用特权

评论回复
13
q1d0mnx| | 2022-6-8 16:18 | 只看该作者
你可以试试版本迭代,读取版本也行,这个好像keil支持这个功能

使用特权

评论回复
14
q1ngt12| | 2022-6-8 17:20 | 只看该作者
就是加标记才行,否则不可以

使用特权

评论回复
15
tax2r6c| | 2022-6-12 08:12 | 只看该作者
就是做个标记的事情,你的IAP可以做个判断标记是否有效,有效则可以进入app就好了

使用特权

评论回复
16
kaif2n9j| | 2022-6-12 08:54 | 只看该作者
我们做的就是加个标记即可

使用特权

评论回复
17
cen9ce| | 2022-6-12 09:06 | 只看该作者
有效APP可以加个flag,IAP读取这个flag就行了

使用特权

评论回复
18
g0d5xs| | 2022-6-12 11:15 | 只看该作者
这个我觉得还是有个标记比较好

使用特权

评论回复
19
ex7s4| | 2022-6-12 12:21 | 只看该作者
加标记就行,我觉得这个是比较好的方法

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

427

主题

1178

帖子

3

粉丝