下载地址如下:
srecord 工具官网:
SRecord 1.65
通常安装时会默认配置好,但是有时候未配置会显示找不到srec_cat等提示(我遇到的是点击。bat文件可运行,但使用KEIL自动启动时找不到),这时候就需要配置环境,参考如下链接配置即可。
1.先打开cmd工作台输入 “srec_cat -VERSion” 查询版本以检查是否可使用srec_cat工具
若出现“'srec_cat' 不是内部或外部命令,也不是可运行的程序或批处理文件。”说明环境变量没有配置成功。
2.打开下载Srecord的路径,举例如下图:
将dll文件复制到C:WindowsSystem32
复制srec_cat到C:Windows
3.再次检查,我经过上述操作已经可以成功使用
4.若是还不能使用,则尝试配置环境变量如下链接中介绍的方式。
具体安装与环境配置参考站内链接如下:
使用srec_cat工具将 BootLoader 和 APP的bin文件 or hex 文件合并_bootloader bin 合并工具-CSDN博客
安装完毕并检查可使用后,可以开始使用,bat文件来调用此工具,在下载文件夹中如下图的链接:
文档中有对此工具详细用法的说明,由于是全英文,没有全部查阅,这里我只举例我用到的几个关键词来解释其意义。
1.首先需要了解.bat文件中部分表示的基本用法包含.bat文件本身的语法与一些windows公用语法
举例我使用到的介绍如下:
1.路径的表示方法
. 代表当前目录下的
..代表前级目录下的
2.copy 用于复制文件
用法:copy 路径1 路径2
举例:copy ..ProjectObjectoutput.hex ..Outputoutput1.hex
意义:从路径1复制文件到路径2
3.REM 代表此行不运行,只显示,用于.bat文件的注释
4.del 用于删除文件
用法:del 路径1
5.^ 换行符号,防止一行过长影响阅读
2.srec_cat常用关键词
指令介绍
1.-crop 裁剪
格式:-crop 起始地址 末尾地址
举例:-crop 0x00003000 0x00003100
2.-output 输出
格式:-output 文件名 文件格式
举例:-output output.hex -intel
3.-fill 填充
格式:-fill 填充数据 填充起始地址 填充末尾地址
举例:-fill 0xff 0x00003000 0x00003100
4.-CRC32_Little_Endian 计算前级文件的常规CRC32并以小端输出
格式:-CRC32_Little_Endian 保存结果的地址
举例:-CRC32_Little_Endian 0x00003100
5.-generate 生成数据
格式:-generate 数据地址开始 数据末尾地址 数据源 (操作到末尾地址-1处)
举例:-generate 0x00003000 0x00003100 -constant-1-e 0x20240604 4
6.-exclude 排除
格式:-exclude 排除地址开始 排除末尾地址
举例:-exclude 0x00003000 0x00003100
7.-Output_Block_Size 限制输出文件每行记录的字节长度
格式:-Output_Block_Size=字节长度
举例:-output output.hex -intel -Output_Block_Size=16
格式介绍
1.-Intel 因特尔HEX格式
2.-constant-1-e 数据值 字节宽度
srec_cat转化以及合并用法
1.合并
srec_cat.exe 路径1+文件1+文件打开类型 路径2+文件2+文件打开类型 -output 路径3+合并文件名+文件类型
2.转化
srec_cat.exe 路径+文件名+文件打开类型 -output 路径+转化后文件名+转化文件类型
备注,当文件以.srec格式打开时,不需要声明文件打开类型,因为srec_cat工具默认以.srec格式打开。
下面是应用实例,仅供参考