前言

下面介绍映像文件工具 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. Linux虚拟网络技术学习

    一个执着于技术的公众号 地方 背景 在Linux虚拟化技术中,网络层面,通常重要的三个技术分别是Network Namespace.veth pair.以及网桥或虚拟交换机技术.今天就通过实验带大家一 ...

  2. 想学会SOLID原则,看这一篇文章就够了!

    背景 在我们日常工作中,代码写着写着就出现下列的一些臭味.但是还好我们有SOLID这把'尺子', 可以拿着它不断去衡量我们写的代码,除去代码臭味.这就是我们要学习SOLID原则的原因所在. 设计的臭味 ...

  3. Android添加布局和按键

    Android添加布局和按键 Android布局方式分为 1.LinearLayout (线性布局) 2.ConstraintLayout (约束布局) 3.FrameLayout (帧布局) 4.T ...

  4. 好客租房29-从jsx中抽离事件处理程序

    从jsx中抽离过多js逻辑代码 会显得非常混乱 推荐:将逻辑抽离到单独的方法中 保证jsx结构清晰 //导入react     import React from 'react'           ...

  5. Javabean使用实例

    1.login.jsp <%@ page language="java" contentType="text/html; charset=utf-8" p ...

  6. 第06组Alpha冲刺(3/6)

    目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2.鲍凌函 3.曾丽莉 4. 曹兰英 5. 方梓涵 6.董翔云 7.杜筱 8.黄少丹 9. 詹鑫冰 10.吴沅静 1.3 冲刺成果展示 1.1 ...

  7. Django虚拟环境详解

    Django虚拟环境之 Virtualenv 1.安装 pip install virtualenv 2.创建虚拟环境 创建虚拟环境文件夹在当前目录 virtualenv [env_name] 3.激 ...

  8. 利用shell脚本自动化备份数据库与手动备份还原数据库操作

    1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定 ...

  9. 接口测试postman深度挖掘应用③--postman终结篇

    上一章节我们介绍了postman的变量测试以及导入数据测试基本上技术性的东西已经差不过了,这篇文章再系统性的介绍一下. 一.下载 官网:https://www.postman.com 1.选择需要下载 ...

  10. react-router v6对比react-router v5

    简述:     1. react-router v6 原生支持typeScript ; 安装方法 npm install react-router-dom@6    2. react-router v ...