前言

在开发调试过程中,我们一般采用将bootloader的程序如boot.hexapplication的程序如app.hex进行分别下载的方式,即采用两次下载。

但是在产线上为了增加生产效率,一般都会要求研发提供一种只烧录一次即可的办法,这时我们经常采用将boot.hex与app.hex进行合并生成一个firmware.hex后重新烧录的方式。

网上大部分的教程都是使用srec_cat工具去对文件进行合并,我按照教程去下载并安装了srec_cat后发现生成的firmware.hex文件不能下载,提示

”ERROR:Could not program and verify target“

然后排查半天发现合并出来的文件和原始文件都对不上(可能是我的使用方法不正确),于是乎找到了另外一种简单的方法去合并hex文件,并亲测有效而本文就是与大家分享如何采用一种简单的办法去合并boot.hex和app.hex (windows环境下)

1. 编写merge.bat文件

1.1 创建一个merge目录

创建一个新的文件夹 可以叫做merge,也可以叫做其它的名称这个大家随意来。

1.2 创建一个merge.txt

创建一个merge.txt然后将下方的代码拷贝到其中

copy /b boot.hex + app.hex firmware.hex.tmp
findstr /v ":00000001FF" firmware.hex.tmp > firmware.hex
del firmware.hex.tmp

1.3 将merge.txt修改为merge.bat

在最初时创建merge.txt而不是merge.bat是因为我发现notepad++打不开merge.bat,所以我是采用的先创建merge.txt将代码编写进去后再修改为merge.bat。 如果你的notepad++或者记事本可以打开merge.bat那么就直接创建merge.bat也行

.bat文件简介

在 Windows 操作系统中,.bat 文件(批处理文件,Batch File)是一种用于自动执行一系列命令的脚本文件。它是纯文本文件,可以通过记事本等文本编辑器创建,并且包含一组 Windows 命令,按照顺序逐行执行。

通过双击.bat文件可以直接运行.bat脚本

1.4 拷贝app.hex和boot.hex

bootloaderapplication编译出来的文件分别命名为boot.hex和app.hex并拷贝到创建的merge目录下

1.5 执行.bat文件

双击.bat文件,执行脚本,最后会看到生成一个firmware.hex文件

请添加图片描述

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐