中级会员
- 积分
- 204
- 金钱
- 204
- 注册时间
- 2016-12-24
- 在线时间
- 22 小时
|
本帖最后由 outmanlol 于 2017-2-17 09:16 编辑
在线升级主要分为两个工程。一个工程为引导程序,另一个为APP程序。APP程序内容更改很少,只需要在keil里配置好就ok,配置步骤如下,1、如图1红色框内部分,设置APP程序的起始地址。
2、如图3红色部分所示,在Define里定义NO_CRP,它是用来让芯片不被锁的。想具体可以自行百度。
3、如图4将红色框内选中,keil便会更具图1的设置,生成想应的分散加载文件。
4、如图6红色部分所示,这是我的生成bin文件的路径设置C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o ./output/1FTU_APP.bin ./output/1FTU_APP.axf。 其中C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe为keil安装路径下找到keil自带工具fromelf.exe, ./output/1FTU_APP.bin为生成的bin文件名称,./output/1FTU_APP.axf为输入文件。注意输入文件的名称必须与图2红色部分的名称一样。 另外:我是在引导程序跳转到APP程序前,便将中断向量重映射到APP程序的首地址了,故如图5所示,必须将将启动文件里的红色部分中断向量映射屏蔽掉。这也是APP程序里唯一需要改动的地方。(中断向量重映射设在引导程序中)
引导程序相对而言,keil不需要做太多配置,只需要将程序的存放地址设置好,主意引导程序的起始地址必须为0x0000。 引导程序更重要的是如何跳转到APP程序。步骤如下:
1、如图片7所示,重映射中断向量表到APP起始地址。(我的APP起始地址为0x7000)
2、调用跳转程序,跳转程序如图8所示。
|
-
图片1
-
图片2
-
图片3
-
图片4
-
图片5
-
图片6
-
图片7
-
图片8
|