要做个网络远程升级固件的IAP代码,升级前要将flash中的APP1区域数据复制到APP2区域,APP2不能运行的问题

2019-07-20 09:38发布

如题:要做个网络远程升级固件的IAP代码,升级前要将flash中的APP1区域中的APP数据复制到APP2区域,APP在APP1区域中能正常运行,但是复制到APP2区域后,由于APP2所需要的中断向量表偏移量和flash的起始地址设置跟APP1不一样,所以APP2不能运行,请教各位大神,这该如何解决??????????????????????????
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
33条回答
adlu
1楼-- · 2019-07-20 12:04
 精彩回答 2  元偷偷看……
augustedward
2楼-- · 2019-07-20 15:02
在APP1区域可以运行的,简单复制到APP2区域是肯定不会运行的。要修改中断向量表及flash起始地址,相当于两个程序了
ylsljp
3楼-- · 2019-07-20 17:38
 精彩回答 2  元偷偷看……
augustedward
4楼-- · 2019-07-20 21:18
 精彩回答 2  元偷偷看……
龙兄
5楼-- · 2019-07-21 02:52

可否这样,在烧完程序或升级后,更新一个标志位
                 APP在APP1位置时,在FLASH某个位置写一个标志位A=0X5A5A
                 APP在APP2位置时,在FLASH相同位置写一个标志位A=0XA5A5
程序进入main之后根据标志位的数值确定中断向量表之类的参数。
ylsljp
6楼-- · 2019-07-21 08:15
龙兄 发表于 2017-9-5 14:11
可否这样,在烧完程序或升级后,更新一个标志位
                 APP在APP1位置时,在FLASH某个位置写 ...

这样能解决中断向量表的偏移量的问题,但是flash的起始地址问题还是没解决啊

一周热门 更多>