前言

下面介绍映像文件工具 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. gogin web框架部署学习

    首先去git上面找了一个gin框架拿来学习gin web开发: flipped-aurora/gin-vue-admin: 基于vite+vue3+gin搭建的开发基础平台(已完成setup语法糖版本 ...

  2. Springcloud及Git线上配置详解

    SpringCloud 这个阶段该如何学? 三层架构 + MVC 框架: Spring IOC AOP SpringBoot,新一代的JavaEE开发标准,自动装配 模块化~ all in one,代 ...

  3. CI/CD介绍以及jenkins安装 1.1

    一 .CI/CD介绍    互联网软件开发和发布,形成了一套流程标准,分为几个阶段:编码,构建,集成,测试,交付,部署  持续集成(continuous integration).持续交付(conti ...

  4. zabbix-agent python脚本侦听服务器异常登录,并告警

    py脚本 import re,subprocess,time,datetime #gpasswd -a zabbix adm def ftime(a): a = a.replace('Jan','01 ...

  5. Spring Boot 配置 HikariCP

    HikariCP 是一个可靠的.高性能的 JDBC 连接池 本来用的 alibaba/druid,但实际并没有怎么用其内置的监控网页,然后多方调查,决定弃用 druid,替换为 HikariCP Sp ...

  6. Servlet——HTTP状态 405 - 方法不允许

    问题描述: 使用Servlet调用doGet方法时报错: 此URL不支持Http方法GET 源代码: 解决方案: 删除super.doGet(req, resp);

  7. [C++STL] 队列 queue 的入门

    队列结构 概念: 队列(queue):和栈相似,也是一种特殊的线性表.和栈不同的是,队列只允许在表的一端进行插入操作,而在另一端进行删除操作.一般来说,进行插入操作的一端称为队尾,进行删除操作的一端称 ...

  8. [漏洞复现] [Vulhub靶机] OpenSSL Heartbleed Vulnerability (CVE-2014-0160)

    免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 背景知识 传输层安全协议SSL 安全套接字协议SSL(Secure Sockets Layer),及其继任者传输层安 ...

  9. 『忘了再学』Shell基础 — 23、其他环境变量配置文件

    目录 1.注销时生效的环境变量配置文件 2.其他配置文件 3.Shell登录信息相关文件 (1)/etc/issue文件说明 (2)/etc/issue.net文件说明 (3)/etc/motd文件说 ...

  10. C语言- 基础数据结构和算法 - 队列的顺序存储

    听黑马程序员教程<基础数据结构和算法 (C版本)>, 照着老师所讲抄的, 视频地址https://www.bilibili.com/video/BV1vE411f7Jh?p=1 喜欢的朋友 ...