找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[M051] M031LD2AE做IAP升级的时候跳转不成功

[复制链接]
楼主
admin 发表于 2022-10-11 16:11:40 | 显示全部楼层
请问0X4000地址的程序加载执行地址是不是被设置0地址了,此时需要将加载执行地址设置成0x4000,
牛卧堂
回复 支持 反对

使用道具 举报

沙发
admin 发表于 2022-10-11 16:12:56 | 显示全部楼层
请参考下面例程
牛卧堂
回复 支持 反对

使用道具 举报

板凳
admin 发表于 2022-10-11 16:13:19 | 显示全部楼层

牛卧堂
回复 支持 反对

使用道具 举报

地板
admin 发表于 2022-10-12 15:24:00 | 显示全部楼层
celink-c000559 发表于 2022-10-11 09:27
工程师你好,我现在把APP1放到APROM地址为0的地方,把APP2放到APROM地址为0x4000的地方,然后APP2的加载 ...

请先去参考测试FMC_MultiBoot例程,FMC_MultiBoot是放在APROM 0地址的,FMC_Boot0是放在0x4000地址的。每个工程编译前先在keil里设置对应的加载执行地址(例程已经配置好),然后编译下载到APROM里。设置芯片启动位置为APROM带IAP,那么每次芯片上电都会从APROM的0地址开始执行。
APROM 0地址上的程序再通过0页映射和系统复位可以切换到其他程序上去。
牛卧堂
回复 支持 反对

使用道具 举报

5#
admin 发表于 2022-10-12 15:28:15 | 显示全部楼层
不断复位到APP1,可能0X4000上没代码,也可能0x4000地址上的程序执行地址指向了APP1. 可以看0x4004位置的数据是否指向0x4000以前的地址。
牛卧堂
回复 支持 反对

使用道具 举报

6#
admin 发表于 2022-10-12 15:30:48 | 显示全部楼层

牛卧堂
回复 支持 反对

使用道具 举报

7#
admin 发表于 2022-10-14 15:51:33 | 显示全部楼层
celink-c000559 发表于 2022-10-14 03:15
感谢您的回复,请问0x4000上有代码,但是0x4000地址上的程序执行地址指向了APP1的话,有什么解决的方法。 ...

请先去参考测试FMC_MultiBoot例程,FMC_Boot0是放在0x4000地址的。每个工程编译前先在keil里设置对应的加载执行地址(例程已经配置好),然后编译下载到APROM里。
牛卧堂
回复 支持 反对

使用道具 举报

8#
admin 发表于 2022-10-14 15:51:56 | 显示全部楼层

牛卧堂
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU