如何实现BootLoader自更新呢?

💡 原文中文,约4100字,阅读约需10分钟。
📝

内容提要

汽车软件Boot程序的刷新方式有五种:SB更新CB、RAM+Flash Reboot更新、RAM+RAM ReBoot更新、借助App程序Flash空间更新、借助额外Flash空间更新。根据软件架构、资源和成本等因素选择适合的刷新方式。

🎯

关键要点

  • 汽车软件Boot程序的刷新方式有五种:SB更新CB、RAM+Flash Reboot更新、RAM+RAM ReBoot更新、借助App程序Flash空间更新、借助额外Flash空间更新。
  • 整车厂只对App程序刷新进行规范,Boot自动刷新的规范仅存在于项目开发阶段。
  • 方式一SB更新CB的优点是逻辑结构简单,缺点是需要较大的Flash空间和复杂的结构。
  • 方式二RAM+Flash Reboot更新的优点是不需要额外的Flash空间,缺点是掉电风险高。
  • 方式三RAM+RAM ReBoot更新相比方式二减少了一步刷新,但需要更大的RAM空间。
  • 方式四借助App程序Flash空间更新的优点是不需要额外资源,缺点是步骤繁多,整体刷新时间较长。
  • 方式五借助额外Flash空间更新的优点是不破坏App程序,缺点是需要额外的Flash空间。
  • 工程师需根据整体软件架构、CPU资源和成本因素选择合适的Boot自刷新方法。
  • 附录中讨论了Boot有效性标志与启动地址重合的对策,降低刷死风险。
➡️

继续阅读