1.此代码基于红牛开发板,请根据自己的板子进行修改。
2.通过修改网上的代码实现,修改前的功能开了一个很大的缓存接收app数据,然后一次性全部数据写入,
但是这个在实际应用中没多大用,所以修改为一次写入128个字节。
3.程序flash的偏移地址为0x8010000,所以app编译前应该在mdk中设置
Option窗口->Target页->IROM1,start 改为 0x8010000
4.设置中断向量重映射,我用的方法是在app端的main函数起始位置添加语句
SCB->VTOR = FLASH_BASE | 0x10000;
5.启动时如果发现没有app,会进入bootloader模式(灯全亮),如果发现有程序就要看程序的功能了。
如果有app,但是又想重新升级的话就按住某个键(我这里是tamper),然后按复位,松开复位之前不要松开
按键,这样就会进入bootloader模式。
6.进入bootloader后通过串口1接收升级app数据,bin文件数据,接收完成后按User1键进行升级操作,完成后
复位或者按User2键可以运行刚写入的app。
标签:
stm32
iap
上传时间:
2015-05-18
上传用户:llma2017