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.代码分析
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通