IAP笔记

1)   首先是IAP BootLoader程序设置:根据common.h里面的宏定义,设置BootLoader所占用的Flash空间。

 IAP笔记_第1张图片

2)   设置IAP UserApp程序设置:该型号Flash总大小为0x80000(512K字节),从上面得知UserApp的起始地址为0x8003000,即偏移量为0X3000(12K字节),所以, UserAPP可用FLASH空间(Size) =  0X80000 - 0X3000=0X7D000(500K字节)大小了。设置好Start和Szie,就完成UserAPP程序的起始地址设置。

 IAP笔记_第2张图片

3)   中断向量表的偏移量设置

在系统启动时,首先调用SystemInit()初始化系统时钟,同时SystemInit()还完成了中断向量表的设置。所以UserApp程序开头要加上一句:

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);

 

4)   *bin文件生成

在MDK点击Options for TargetUser选项卡,在Run User Programs After Build/Rebuild 栏,勾选Run#1,并写入:D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe  --bin -o  .\ Objects\IAP.bin .\ Objects\IAP.axf,如图所示:

 IAP笔记_第3张图片

根据当前工程的IAP.axf(名称根据工程名自行修改,这个文件生成在Objects目录里,名为xxx.axf),生成一个IAP.bin的文件。并存放在axf文件相同的目录下,即工程的Objects文件夹里面。在得到.bin文件之后,我们只需要将这个bin文件传送给单片机,即可执行IAP升级。

转载于:https://www.cnblogs.com/eruca520/p/10269598.html

你可能感兴趣的:(IAP笔记)