1.先介绍一下我的IAP升级方式
- 芯片资源
内核:contex-M4
内存: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。