前言

下面介绍映像文件工具 srec_cat 的使用,如何通过相关参数实现自己需要的功能。

下载链接:SRecord

使用方式

文件类型

在输入文件和输出文件文件时要指明文件类型,常用的如:

test.hex -intel
test.bin -binary

文件转换

可以通过该软件进入文件类型转换。

如hex文件转bin文件:

srec_cat.exe stm32.hex -intel -offset 0x08000000 -o stm32.bin -binary

将 stm32.hex 从 0x08000000 地址开始转成 bin 文件。

bin文件转hex文件:

srec_cat.exe stm32.bin -binary -offset 0x08000000 -o stm32.hex -intel

将 stm32.bin 偏移 0x08000000 地址开始转成 hex 文件。

文件截取

如果需要文件部分内容截取,可以使用参数-crop

srec_cat.exe stm32.hex -intel -crop 0x08000000 0x08003FFF -o stm32_app.hex -intel

将 stm32.hex 文件中 0x08000000 - 0x08003FFF 中有效的数据生成一个新的文件 stm32_app.hex,如果代码结束地址是 0x0800 1FFF,那么新生成的文件代码范围是 0x08000000 - 0x08001FFF。

内容填充

字符串

如果想在文件指定的位置填充字符串信息等,如版本信息

srec_cat.exe -generate 0x08000000 0x08000005 -repeat-string STM32 stm32.hex -intel -exclude 0x08000000 0x08000005 -o stm32_new.hex -intel

在 0x08000000 0x08000005 的范围内重复填充 “STM32”字符串信息,和 stm32.hex (排除了 0x08000000 0x08000005 范围内数据)进行合并,生成新的文件 stm32_new.hex

  • -generate:数据生成器参数,即地址范围-数据源
  • -repeat-string:字符串参数,后面接入字符串参数
  • -exclude:排除过滤器参数,不包括某一范围内存的数据
  • 重复:如果字符串长度小于预留的范围,则重复填充,比如将 0x14 改为 0x16,则 0x15和0x16地址对应的数据为 'ST'

数字

如果想在文件指定的位置填充数字信息等,如文件大小

srec_cat.exe -generate 0x08 0x0C -constant-l-e 0x123456 4 stm32.bin -Binary -exclude 0x08 0x0C -o stm32_new.bin -Binary

在 0x08~0x0C 的范围内填充按照 4 字节重复填充16进制数字 0x123456,和 stm32.bin (排除了 0x08~0x0C 范围内数据)进行合并,生成新的文件 stm32_new.bin

  • -constant-l-e:数字值字节宽度参数,即值-字节宽度
  • 重复:如果对齐长度小于预留的范围,则重复填充,比如将 0x0C 改为 0x0D,则 0x0D地址对应的数据为 0x56(小端模式)

srec_cat 常用参数的使用的更多相关文章

  1. Production环境中iptables常用参数配置

    production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...

  2. chattr的常用参数详解

    chattr的常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,有的运维工程师不得不和开发和测试打交道,在我们公司最常见的就是部署接口.每天每个人部署的 ...

  3. dmidecode常用参数

    dmidecode常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. dmidecode这个命令真是神器啊,他能快速的获取服务器的硬件信息,而且这个命令有很多的花式玩法,今 ...

  4. find常用参数详解

    find常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux系统中,在init 3模式情况下都是命令行模式,这个时候我们想要找到一个文件的就得依赖一个非常好用的 ...

  5. cat常用参数详解

    cat常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近,我的一个朋友对linux特别感兴趣,于是我觉得每天交给他一个命令的使用,这样一个月下来也会使用30个命令,基 ...

  6. find一些常用参数的一些常用实例和一些具体用法和注意事项。

    find一些常用参数的一些常用实例和一些具体用法和注意事项. 1.使用name选项: 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用.  可以使用某种文件名模式来匹配 ...

  7. ls常用参数

    ls常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩Linux的老司机们每天都要敲的命令,但是这个鸡蛋的命令还有很多中玩法哟~跟着我一起敲一遍吧!在这里我就列举几个常 ...

  8. FFmpeg FFmpeg的使用及常用参数

    FFmpeg的使用及常用参数 一.下载: 官网:http://ffmpeg.org/ 二.demo: 1 class Program 2 { 3 static void Main(string[] a ...

  9. c# ffmpeg常用参数

    c#  ffmpeg常用参数 转换文件格式的同时抓缩微图: ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 ...

随机推荐

  1. Elasticserach学习笔记(一)

    1.什么是Elasticserach? 一个由Java语言开发的全文搜索引擎,全文检索就是根据用户输入查询字符的片段,能查询出包含片段的数据,简单来说就是一个分布式的搜索与分析引擎,它可以完成分布式部 ...

  2. vue - Vue中的ajax

    只有在ajax才能找回一点点主场了,vue中的ajax一天整完,内容还行,主要是对axios的运用. 明天按理说要开始vuex了,这个从来都是只耳闻没有眼见过,明天来看看看看是个什么神奇的东西. 一. ...

  3. Oracle19c单实例数据库配置OGG单用户数据同步测试

    目录 19c单实例配置GoldenGate 并进行用户数据同步测试 一.数据库操作 1.开启数据库附加日志 2.开启数据库归档模式 3.开启goldengate同步 4.创建goldengate管理用 ...

  4. 使用NE555实现的延时开关电路

    NE555 的工作机制 先了解 NE555 的 Trigger(Pin2) 和 Threshold(Pin6) 如何检测电压并控制输出 如果 Trigger(Pin2) 检测到任何低于电源电压1/3的 ...

  5. Linux Troubleshooting 超实用系列 - Disk Analysis

    笔者历史文章: https://github.com/CarlJi/words 关于磁盘的使用,实际生产中以下问题会较为常见: No space left on device - 空间不足 Disk ...

  6. 检查MySQL主从复制运行状态

    脚本思路: 1.使用MySQL客户端命令"mysql"直接在命令行中运行MySQL指令"show slave status\G;"来查看MySQL主从复制状态信 ...

  7. 「VMware校园挑战赛」小V的和式

    Description 给定 \(n,m\) ,求 \[\sum\limits_{x_1=1}^{n}\sum\limits_{x_2=1}^{n}\sum\limits_{y_1=1}^{m}\su ...

  8. Dubbo的基本使用

    Dubbo分为提供者和消费方  并且两者都要注册到ZK上 提供者 注解    @Service   这是dubbo包下的 消费组 注解    @Reference 远程注入 第一步导入依赖 <! ...

  9. 使用 .NET MAUI 创建移动应用——Get Start

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 1.IDE下载安装 如果你还没安装Visual Studio 2022 预览版 你 ...

  10. 一张图进阶 RocketMQ - 整体架构

    前 言 三此君看了好几本书,看了很多遍源码整理的 一张图进阶 RocketMQ 图片链接,关于 RocketMQ 你只需要记住这张图!如果你第一次看到这个系列,墙裂建议你打开链接.觉得不错的话,记得点 ...