ren0zhe
发表于 2017-5-10 09:55:29
hjl2832 发表于 2017-5-10 09:12
keil编译时,总是只能默认一个地址启动,要做不同的地址启动,要将不同的复位地址对应不同的中断向量表,这 ...
好吧,谢谢,我也战略放弃了,现在就是APP2做一个定死的出厂固件,APP1一直升级,这样算是妥协点吧
huochaosuma
发表于 2017-7-19 18:46:42
为什么我通过设置IROM1为不同地址,编译出来的bin文件都是一模一样的呢?
我使用的时STM32F0
virnop
发表于 2018-11-6 10:33:59
很简单,程序中非常多的指针访问都是通过绝对地址访问的,尤其像中断向量表,存的都是绝对地址,所以在固定位置编译的程序是不可以运行在其他位置的!详细请查中断向量表细节以及指针的储存细节。
lx1990
发表于 2019-1-24 11:10:31
和我碰到的问题是一样的,如果升级只用一个BIN文件就会出现这样的问题,我定位了下问题,之所以失败是因为中断向量表还是存在之前的程序区,程序升级后中断向量表并没有更新,导致再次交叉升级,程序擦除时,擦除中断向量表后,程序直接死机。不过我现在也是无解了,这个问题,不知道如何去强制更新中断向量表。
eversyou
发表于 2019-5-17 20:21:04
ren0zhe 发表于 2017-5-8 15:22
这是两个相同的程序,设置IROM1的起始地址分别为 0x8010000 和 0x8021000,
生成的bin文件的复位地址分别 ...
你好,我也遇到了两个app交替升级的问题,你这个问题有好的解决方法吗?keil编译一个生成固件往两个地址都可以升级,这个能行得通吗?
lebment
发表于 2019-5-18 10:34:04
交替升级可以的,成功过。
zhouxb
发表于 2019-8-23 11:30:55
楼主例程能共享下么
a316363723
发表于 2020-7-13 15:20:25
lebment 发表于 2019-5-18 10:34
交替升级可以的,成功过。
大佬,有例程分享吗,最近在学习,谢谢!
lebment
发表于 2020-7-13 16:57:59
a316363723 发表于 2020-7-13 15:20
大佬,有例程分享吗,最近在学习,谢谢!
自写