剖析MCU的IAP升级软件设计思路
💡
原文中文,约2300字,阅读约需6分钟。
📝
内容提要
本文讨论了软件升级的设计思路,介绍了ISP/ICP/IAP的名称解释。作者提出了三个版本的IAP升级方案,分别是V1.0、V2.0和V3.0。这些方案通过将MCU的Flash分区、分解App程序和增加Bootloader等方式,实现了更灵活和高效的升级方式。作者建议在实施这些方案时需要进行软件上的设计和梳理。
🎯
关键要点
- 本文讨论软件升级的设计思路,介绍ISP/ICP/IAP的名称解释。
- ICP代表在电路中编程,无需在单片机内部存储程序。
- ISP代表在系统中编程,需要单片机具备外部运行条件。
- IAP代表在应用程序中编程,允许自定义BootLoader程序实现灵活升级。
- MCU大部分使用Flash存储程序,适合IAP程序开发。
- IAP升级V1.0方案中,Bootloader检测Param区域是否存在App记录,决定是否请求App文件。
- V1.0方案存在无法恢复到之前版本的问题,需要改进。
- IAP升级V2.0方案将App分为两部分,防止升级过程中掉电或通信异常导致App丢失。
- V2.0方案允许备份上一版本App,便于系统恢复。
- IAP升级V3.0方案增加Bootloader2,确保在升级过程中可以恢复Bootloader。
- 实现V3.0方案需要进行软件设计和梳理。
➡️