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
大佬,有例程分享吗,最近在学习,谢谢!

自写
页: 1 2 [3]
查看完整版本: STM32F1的IAP程序,APP1和APP2两个应用程序交替更新的问题