[STM32F1] STM32 IAP升级,KEIL下如何一份代码可以运行于两个APP区。

[复制链接]
1276|12
 楼主| ppaakala 发表于 2022-8-31 19:29 | 显示全部楼层 |阅读模式
我的想法是一个IAP+APP1+APP2。上电运行IAP。会检测当前有效APP,跳转有效APP运行。在APP运行期间,收到升级指令,直接dowm固件,到另外一个APP区,下载会对固件进行安全校验。目前的问题是,没办法使用一份代码运行两个APP。两个APP,则IAP跳转不同的APP,跳转的地址不一样,则代码中需要设置的中断向量表及链接地址。这样,一份代码就不行了,而且两份代码还需要注意当前到底应该使用哪份代码的固件。在实际生产中几乎没办法处理。但是我在工作中有接触到使用M4的原厂,实现了两个APP区,一份代码。故,请问要如何实现?
knk 发表于 2022-9-14 23:48 | 显示全部楼层
工程设置里面设置宏定义来区分
小叶三千 发表于 2022-9-15 08:38 | 显示全部楼层
设置两个不同的起始地址就可以了,分别下载到不同的区域
在曼谷的春 发表于 2022-9-16 01:57 | 显示全部楼层
给我的感觉就是,你正在运行的一个APP,然后有更新了,就正常保存就好了,然后保存成功,弄个标记位,证明新APP来了,等下次关机重启的时候,直接能跳转到APP2上的

我吃小朋友 发表于 2022-9-16 02:19 | 显示全部楼层
这个没听明白啊,你想干什么?

她已醉 发表于 2022-9-16 02:41 | 显示全部楼层
不关机的方式实现硬件升级是么

西洲 发表于 2022-9-16 05:03 | 显示全部楼层
正常来说是可以的,就是用标记位就好了

162176321a8bba7afd.png
146476321a8bd86b9f.png
捧一束彼岸花 发表于 2022-9-16 05:25 | 显示全部楼层
你看看你原来咋实现的呗

一只眠羊 发表于 2022-9-16 05:47 | 显示全部楼层
给我感觉就是标记位设计好了,就行了

月亮一键变蓝 发表于 2022-9-16 06:09 | 显示全部楼层
你是采用什么方式实现升级的啊?

将爱藏于深海 发表于 2022-9-16 06:31 | 显示全部楼层
是可以的,就把单片机的flash分成几块就好了

温室雏菊 发表于 2022-9-16 06:53 | 显示全部楼层
一般是获取APP的标记,是不是新的

故意相遇 发表于 2022-9-16 07:15 | 显示全部楼层
没这么做过,但是我觉得是可以的,把flash区分好

您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

126

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部