前言
在产品转入批量生产的时候,如果还要一个个地先刷bootloader程序,再刷app程序的话,不但增加烧写时间,还容易增加出错概率。因此,将两个固件合并为一个文件后烧录显得尤为方便。
具体操作
首先,你要有一个固件烧写工具,最好能保存文件的。我这里用 STM32 ST-LINK Utility作为示范。
官网下载地址:STM32 ST-LINK Utility

- 先把bootloader和app固件烧写到一个板子上(用这个工具烧写也可以),然后使用此工具,先设置需要读取固件的FLASH起始地址(如我的是0x8000000),以及需要读取的FLASH大小(最好设置为读取全片FLASH大小以防漏掉数据,比如我的芯片FLASH为1M=1000*1024K=0xFA000),点击Connect to target,也就是第三个插头🔌图标。

2.连接成功后,右键Device Memory,选择Save to File保存烧写的固件到文件,选择bin文件保存即可。这样我们就得到了合并后的固件!


结语
上述方式得到的文件大小就是我们读取的1M,其实多了些无用的数据,但并不影响我们刷固件。如果要减小文件大小,那么需要手动查看到哪段地址是不保存数据的,就可以适当减少SIZE的大小,减少无用数据量。