单片机OTA升级中的A/B双分区:经典方案与实现逻辑

strongerHuang 2025-08-30 20:00

关注+星标公众,不错过精彩内容

来源 | 亚细亚的老鱼


OTA:Over-the-Air ,空中下载,也就是远程升级的意思。


现在OTA升级已经成了很多汽车电子、IoT 等嵌入式设备的必要功能,就连很多几块钱的电子产品,都具备了这个功能。


为了避免升级过程中断电、传输错误导致设备“变砖”,业内普遍采用 A/B 双分区机制。本文总结几种经典方案,并结合实际 MCU的特性,给出实现思路。

资讯配图



一、A/B 双分区的经典方案

  1. 静态 A/B(切换入口)

  • 下载区 + 拷贝区

  • 外部 Flash A/B

  • 差分升级(Delta Patch)



  • 二、典型内存布局

    | Boot Control Block (BCB) |  状态标志区
    |--------------------------|
    | Bootloader (保护段)    |  固定不被擦写
    |--------------------------|
    | 应用分区 A           |  App + 校验信息
    |--------------------------|
    | 应用分区 B           |  App + 校验信息



    三、升级完整逻辑

    1. 下载阶段


    2. 启动阶段(Bootloader)

    1. 检查 BCB,若有待验证分区 → 优先启动它。

    2. 校验 Header、CRC、签名。

    3. 如果失败 → 回滚到旧分区。

    4. 如果通过 → 进入试运行模式。


    3. 试运行与确认



    四、关键点与注意事项



    五、应用场景



    六、总结

    A/B 双分区 OTA 升级的核心是:

    这套机制被广泛应用于汽车电子和物联网设备,是目前最可靠的 OTA 设计之一。

    ------------ END ------------

    资讯配图
    ●专栏《嵌入式工具
    ●专栏《嵌入式开发》
    ●专栏《Keil教程》
    ●嵌入式专栏精选教程

    关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。


    点击“阅读原文”查看更多分享。

    声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
    单片机
    more
    UART串口为啥是现在单片机的标配?
    HOLTEK 推出高性价比 BLDC 单片机,诠释什么叫 “够用就好”
    单片机还能这样输出PWM
    不会写单片机不会画电路板?做完这个四轴飞行器,我把STM32和PCB全搞懂了!
    单片机OTA升级中的A/B双分区:经典方案与实现逻辑
    单片机变量不被初始化的实现方法
    单片机软件为啥要上架构?
    单片机开发为啥很少用C++?
    单片机固件版本号常见的规则~
    单片机电池供电产品设计要点
    Copyright © 2025 成都区角科技有限公司
    蜀ICP备2025143415号-1
      
    川公网安备51015602001305号