1、前言
嵌入式固件一般分为BootLoader和App,BootLoader用于启动校验、App升级、App版本回滚等功能,BootLoader在cpu上电第一阶段中运行,之后跳转至App地址执行应用程序。
因此,在发布固件的时候,会存在BootLoader固件和App固件;此时我们期望是将BootLoader固件和App固件合并成为一个固件,这样在量产时只需烧录一次即可。
2、传统方式
一些传统的方法都是“土办法”,没什么毛病,但比较繁琐。
项目种类增加,或者版本发布频繁时更加体现出繁琐性,且易出错,操作稍微失误可能导致固件不完整;烧录不完整的固件,机子变“砖头”。
-
烧录两次,分别烧录BootLoader和App固件
-
烧录固件到芯片后,再从芯片读取固件,另存为hex文件
-
手动复制、合并固件
-
BootLoader支持App固件传输功能的,只烧录BootLoader,后期再升级App
3、高效方式
我们目标是通过自动化脚本合并生成一个发布固件,提高效率和确保固件的完整性。
3.1 合并文件
Linux下的脚本我们用得很多,其实Windows的脚本也非常优秀,利用Windows的脚本可以快速实现增、删、查、改文件。常用Windows