打印
[DemoCode下载]

基于Mini58实现APROM中的两个程序相互跳转

[复制链接]
2030|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 Harry-Nu 于 2016-7-28 10:34 编辑

该代码实现了存储在APROM中的两个程序,AP1和AP2,相互跳转的功能。
代码下载:
[Mini58][FMC]FMC_AP2AP.zip (1.51 MB)


使用请先解压,然后打开如下路径的工程:

[Mini58][FMC]FMC_AP2AP\SampleCode\StdDriver\FMC_AP2AP\KEIL\fmc_ap_1_main.uvproj 并编译,
将程序下载到Mini58开发板上。


将串口线TX,RX连接到Pin37和Pin38,程序运行时,串口打印信息如下图所示。
打印信息说明:
在程序1第一次运行时,会自动将AP2从APROM地址为0x4000的位置开始烧录,烧录成功后,程序1会询问是否要切换到AP2。

按下数字键1,即可跳转到AP2。
在AP2中,AP2又会询问用户“Do you want to branch AP1?”。按下数字键1后,就会切换到AP1。

由于之前已经将AP2烧录过,因此,再次运行程序1时,会有提示“已存在程序fmc_ap2.bin”。
接着会询问用户是否要切换到程序2……
如此往复循环。


【希望该代码对于有程序跳转需求的童鞋有所帮助】

沙发
Harry-Nu|  楼主 | 2016-7-28 10:21 | 只看该作者
本帖最后由 Harry-Nu 于 2016-7-28 10:23 编辑

如果不小心将编译出的 obj 文件夹清空,那么必须要先编译 fmc_ap_2_main.uvproj 后,再编译 fmc_ap_1_main.uvproj。
因为AP1中,在编译时,会自动加载AP2的BIN文件,并将AP2从0x4000地址开始烧录。
AP2的工程设置中,还需要按下图配置一下,AP2才能从0x4000位置正常运行。




使用特权

评论回复
板凳
捉虫天师| | 2016-7-28 19:10 | 只看该作者
涨姿势了,下载看看

使用特权

评论回复
地板
yiyigirl2014| | 2016-7-29 00:07 | 只看该作者
FMC的还没玩过下载当例程学习了

使用特权

评论回复
5
qwe12377yu| | 2017-6-13 11:03 | 只看该作者
我输入1的时候,就出现
In Hard Fault Handler

r0  = 0x1048

r1  = 0x1048

r2  = 0x0

r3  = 0x0

r12 = 0x0

lr  = 0x0

pc  = 0x0

psr = 0x255
是否还有其他配置,非常感谢

使用特权

评论回复
6
Harry-Nu|  楼主 | 2017-8-22 17:40 | 只看该作者
qwe12377yu 发表于 2017-6-13 11:03
我输入1的时候,就出现
In Hard Fault Handler

1、确认硬件一致;
2、用Keil4打开工程,编译,下载。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

56

帖子

2

粉丝