单片机固件自更新的一个方法!
内容提要
本文分析了汽车软件中的Boot程序用于刷新应用程序的五种自更新方式的优缺点,包括SB更新CB、RAM+Flash Reboot更新、RAM+RAM ReBoot更新、借助App程序Flash空间更新和借助额外Flash空间更新。工程师需要综合考虑软件架构、资源和成本来选择适合的自刷新方法。
关键要点
-
汽车软件中的Boot程序用于刷新应用程序,客户项目中Boot是需求的一部分。
-
整车厂对应用程序刷新有规范,但对Boot自刷新没有相关规范。
-
本文分析了五种Boot自更新方式的优缺点。
-
方式一:SB更新CB,优点是逻辑结构简单,缺点是需要较大Flash空间和复杂的结构。
-
方式二:RAM+Flash Reboot更新,优点是不需要额外Flash空间,缺点是掉电后可能导致控制器瘫痪。
-
方式三:RAM+RAM ReBoot更新,优点是减少了一步刷新,缺点是需要更大的RAM空间。
-
方式四:借助App程序Flash空间,优点是不需要额外资源,缺点是步骤繁多,整体刷新时间较长。
-
方式五:借助额外Flash空间,优点是不破坏App程序,缺点是需要额外的Flash空间。
-
工程师需综合考虑软件架构、资源和成本选择适合的自刷新方法。
-
附录中讨论了Boot有效性标志与启动地址的关系及对策,降低刷死风险。
延伸问答
汽车软件中的Boot程序有什么作用?
Boot程序用于刷新应用程序,是客户项目中的需求部分。
有哪些Boot自更新方式?
有五种方式:SB更新CB、RAM+Flash Reboot更新、RAM+RAM ReBoot更新、借助App程序Flash空间更新和借助额外Flash空间更新。
SB更新CB的优缺点是什么?
优点是逻辑结构简单,缺点是需要较大Flash空间和结构复杂。
RAM+Flash Reboot更新的主要风险是什么?
主要风险是掉电后可能导致控制器瘫痪,无法正常启动。
选择Boot自更新方法时需要考虑哪些因素?
需要综合考虑软件架构、资源和成本等因素。
借助App程序Flash空间更新的缺点是什么?
缺点是步骤繁多,整体刷新时间较长。