[N32G43x] 配置IAP的bootloader和app工程,烧录boot和app后,发现boot程序没了

[复制链接]
1201|8
码喽 发表于 2025-10-16 09:16 | 显示全部楼层 |阅读模式
bootloader程序:

5620068f04514d6f0e.png 7012568f0451d53a87.png
boot的工作地址没变,在0x8000000,size给了4000,跳转的地址是0x8004200,尝试直接跳转是可以的。

app程序:
烧录地址改为0x8004200,size给了10000;并且这个VECT值也改了,但是烧录完app,前面的程序就好像被刷掉了,这是为什么?有没有佬懂的
1615068f046c459b74.png
 楼主| 码喽 发表于 2025-10-16 09:59 | 显示全部楼层
已解决,不能用keil烧录,没涉及到的空间会被刷掉,需要将编译的两个文件合并即可
dffzh 发表于 2025-10-16 11:26 | 显示全部楼层
boot和app程序完全可以逐个烧录的呀,本来代码就是存储在不一样的内存地址空间的呢,估计还是哪里存在点问题,楼主可以再看下。
chenjun89 发表于 2025-10-17 08:32 来自手机 | 显示全部楼层
Keil烧录要修改代码段的起始地址
 楼主| 码喽 发表于 2025-10-17 09:52 | 显示全部楼层
chenjun89 发表于 2025-10-17 08:32
Keil烧录要修改代码段的起始地址

软件里面的魔法棒那改过了,烧录进去,除了设定的地址,其他地址都被重新刷了,也就是前面的bootloader的地址被刷掉了。除了魔法棒那,那个中断向量表也改过了
 楼主| 码喽 发表于 2025-10-17 09:54 | 显示全部楼层
dffzh 发表于 2025-10-16 11:26
boot和app程序完全可以逐个烧录的呀,本来代码就是存储在不一样的内存地址空间的呢,估计还是哪里存在点问 ...

如果可以的话,那我就明白为何了,烧录完app后的感觉就是前面的bootloader地址也被刷掉了
cqarm 发表于 2025-10-17 18:06 | 显示全部楼层
本帖最后由 cqarm 于 2025-10-17 18:07 编辑
码喽 发表于 2025-10-16 09:59
已解决,不能用keil烧录,没涉及到的空间会被刷掉,需要将编译的两个文件合并即可 ...

1.app起始地址没改?
2.烧录app时要选择扇区擦除。
不懂我De悲伤 发表于 2025-10-17 18:59 | 显示全部楼层
改app这里就行
9981668f22126b8769.png
ScreenShot_2025-10-17_185837_104.png
jobszheng 发表于 2025-10-18 14:53 | 显示全部楼层
楼主 正解。
我们是先调整好程序,再生成APP的bin文件,然后再通过IAP升级。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部