IAP实际上是将片上flash分为两个区,第一个区域放置BootLoader的引导程序,作用是接收已经编写好的应用程序(bin文件),同时将接收到的应用APP文件存储到flash第二个区域。存储完成后程序跳转到第二个flash运行APP程序。因此,当APP程序需要升级时只需通过串口将.bin文件发送至BootLoader引导程序即可。
1、BootLoader引导程序编写
由于需要将APP程序存储至flash,因此需要调用flash读写api,(需要添加f021flash读写api、增加cmd文件中flash api的存储空间、在core.asm文件中添加flashcopy2RAM函数);
使能串口中断,用以接收APP应用程序
修改cmd文件中FLASH0的大小,此区域用来存储BootLoader引导程序代码
2、APP应用程序
修改cmd文件中FLASH1大小,存储应用APP程序
以上具体代码见附件!
1