| 我的想法是一个IAP+APP1+APP2。上电运行IAP。会检测当前有效APP,跳转有效APP运行。在APP运行期间,收到升级指令,直接dowm固件,到另外一个APP区,下载会对固件进行安全校验。目前的问题是,没办法使用一份代码运行两个APP。两个APP,则IAP跳转不同的APP,跳转的地址不一样,则代码中需要设置的中断向量表及链接地址。这样,一份代码就不行了,而且两份代码还需要注意当前到底应该使用哪份代码的固件。在实际生产中几乎没办法处理。但是我在工作中有接触到使用M4的原厂,实现了两个APP区,一份代码。故,请问要如何实现? |
APP1和APP2也就是一个偏移地址差异,这个管理很难嘛
你找下带2个BANK的mcu试试,可以分2个区,地址好像一样的。
可以考虑将IAP部分多分配一个SECTOR, 用来保存当前使用的APP信息,包括验证的证书等信息。 或者像大家建议的,使用双bank的MCU。 比如G4系列,可以实现双BANK启动。