hex文件处理——srec_cat工具

文摘   2024-10-18 07:14   上海  
1.前言
在嵌入式系统开发领域,尤其是在涉及微控制器编程时,对 HEX、S19 和 BIN 文件进行处理后再发布是一个非常常见的做法。这一任务通常由底层软件(底软)开发人员来完成。这些开发人员负责确保文件格式正确无误,并且固件能够顺利地加载到目标设备上。项目中常用的hex处理无非就是填充、重定义地址、剪切、合并这几个功能。

之前介绍过hexview的命令行使用,HexView的常用功能 (qq.com),hexview的界面十分强大,但是工作中发现在jenkins集成中,执行到hexview相关的命令会因为某些GUI的调用而导致编译任务的永久挂起,今天介绍一下另一个工具srec_cat的部分命令行使用方法。

感谢大家长期以来的支持,可以的话点击一下下方链接,再关闭即可。

https://mp.weixin.qq.com/s/GI0eHiEdF8aWMn2YZOeQIw

2.srec_cat

srec_cat没有用户界面,在执行脚本中明显比hexview的bat文件更流畅、高效。本文直接在cmd中介绍一下工具命令行的使用。

2.1剪切 -crop

假设当前我们有如下的hex文件待切割

srec_cat  srouce.hex -Intel -crop 0x80000000 0x80000008 -o target.s19

命令行中的 -intel表示打开或者生成hex文件的格式,如果是bin文件则是 -binary,s19则不需要添加;

-o表示输出(output);

-crop是剪切得命令,后续2个参数是剪切的起始地址和结束地址;

2.2 填充 -fill

srec_cat  srouce.hex -Intel -fill 0x00 0x80000009 0x8000000F -o target_fill.s19

-fill 后面跟填充内容和填充的起始、结束地址

这里需要注意下,hexxview与sreccat的不同点,serccat的操作中,结束地址是不包含在内的。

2.3 偏移

srec_cat  target.s19 -offset -0x10000000 -o target_offset.hex -Intel

-offset后面加偏移地址,往前偏移用负数,往后偏移用正数。

2.4 校验算法

srec_cat  target_fill.s19 -crc16-b-e -0x80000009 -BROKEN -o target_checksum.hex -Intel

-crc16-b-e 表示crc16算法,b表示大端显示,地址为校验和的填充地址, BROKEN表示crc的多项式

2.5 其他

srec cat也支持多命令同时使用,在文档的例子中也多有示例。


最后附上原文链接,原文中有动图和工具及用户手册。

【有道云笔记】hex文件处理——srec_cat工具:https://note.youdao.com/s/Tfid7x9u

谦益行
分享汽车研发日常,助力你我共同成长。
 最新文章