完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的想法是一个IAP+APP1+APP2。上电运行IAP。会检测当前有效APP,跳转有效APP运行。在APP运行期间,收到升级指令,直接dowm固件,到另外一个APP区,下载会对固件进行安全校验。目前的问题是,没办法使用一份代码运行两个APP。两个APP,则IAP跳转不同的APP,跳转的地址不一样,则代码中需要设置的中断向量表及链接地址。这样,一份代码就不行了,而且两份代码还需要注意当前到底应该使用哪份代码的固件。在实际生产中几乎没办法处理。但是我在工作中有接触到使用M4的原厂,实现了两个APP区,一份代码。故,请问要如何实现?
|
|
相关推荐
2个回答
|
|
可以考虑将IAP部分多分配一个SECTOR, 用来保存当前使用的APP信息,包括验证的证书等信息。
或者像大家建议的,使用双bank的MCU。 比如G4系列,可以实现双BANK启动。 |
|
|
|
要实现一份代码运行于两个不同的APP区,可以考虑以下几点:
1. 中断向量表的设置:在代码中,通过修改复位向量表的地址,可以让代码根据需求跳转到不同的APP区。例如,可以将复位向量表设置为APP1的起始地址,在IAP检测到APP1有效时,跳转到APP1开始执行;在IAP检测到APP2有效时,跳转到APP2开始执行。 2. 引导程序的修改:在IAP中,可以实现检测当前有效APP并进行跳转,同时也可以实现固件的下载和安全校验。为了区分不同的APP,在引导程序中可能需要添加一些标志位或者其他方式来判断当前应该运行哪个APP。 3. 代码的优化:由于需要在同一份代码中运行两个不同的APP,可能需要根据实际需求对代码进行一些修改和优化。例如,通过配置文件或者其他方式,让代码在不同APP区的运行时选择不同的功能或者流程。 需要注意的是,具体的实现方式可能会受到芯片型号、开发环境和需求等方面的限制,具体应根据实际情况进行调整。同时,确保在进行固件的下载和安全校验时,进行合适的技术和方法来保证安全性。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1752 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1611 浏览 1 评论
1052 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1666 浏览 2 评论
1926浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
711浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
560浏览 3评论
583浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 15:53 , Processed in 0.774062 second(s), Total 50, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号