IAP在线升级
1.先介绍一下我的IAP升级方式
- 芯片资源
内核:contex-M3
内存:128kb
flash:512kb - 大致流程
----准备一张sd卡,带有程序所运行的必要资源,包括图片、字体、代码。
----插入sd卡,接通电源,运行UserApp程序,将SD卡的资源拷贝到SPI_flash中。(FatFs文件系统)
----若检测到特定的升级信号,跳入到BOOT程序中,将SPI_flash的程序拷贝到MCU_flash中。(FatFs文件系统)
----拷贝完成,再自动跳转到User_App,升级完毕。
2.遇到的BUG
- BUG1:从APP跳入Bootloader时,发生死机。
- BUG2:移植文件系统到Bootloader程序,导致程序过大,接近200Kb,然而我的APP大小达到350Kb。总大小超过512Kb。
3.代码分析
浙公网安备 33010602011771号