前言

下面介绍映像文件工具 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. 2021年大数据Hadoop(二十九):​​​​​​​关于YARN常用参数设置

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 关于yarn常用参数设置 设置container分配最小内 ...

  2. dataTables常用参数

    一.新版本和老版本的区别 新版本的改进:https://datatables.net/new/1.10 新老版本参数变化列表:http://datatables.club/upgrade/1.10-c ...

  3. [Hive_add_8] Hive 常用参数配置

    0. 说明 记录 Hive 常用参数的配置 1. 设置本地模式 让 Hive 自动使用 Hadoop 的本地模式运行作业,提升处理性能 适合小文件,一般用于测试 set hive.exec.mode. ...

  4. R语言使用knitr生成机器学习模型全流程步骤示例:knitr与自动化结果报告、knitr常用参数

    R语言使用knitr生成机器学习模型全流程步骤示例:knitr与自动化结果报告.knitr常用参数 目录

  5. Maven常用参数及其说明

    2019独角兽企业重金招聘Python工程师标准>>> Maven常用参数及其说明 -h,--help                              Display he ...

  6. qemu使用实例和常用参数

    =========================qemu使用实例参数详解========================= qemu.exe -kernel-kqemu -L . -m 512 -h ...

  7. JVM面试问题系列:JVM 配置常用参数和常用 GC 调优策略

    JVM 配置常用参数 堆参数 回收器参数 如上表所示,目前主要有串行.并行和并发三种,对于大内存的应用而言,串行的性能太低,因此使用到的主要是并行和并发两种.并行和并发 GC 的策略通过 UsePar ...

  8. mysql -s 参数_mysqldump 的常用参数。

    mysqldump 常用参数详解: --databases:备份多个数据库,选项后跟多个库名.备份文件中会包含USE db_name. --events    :  备份事件 --routines:备 ...

  9. python把桢写入txt_ffmpeg 常用参数一览表及python 使用示例

    FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.提供了录制.转换以及流化音视频的完整解决方案. 它包含了非常先进的音频/视频编解码库libavcodec,这里介绍 ...

最新文章

  1. 栈与队列7——单调栈结构(初阶问题)
  2. 基于kNN的手写字体识别——《机器学习实战》笔记
  3. LeetCode—209. 长度最小的子数组
  4. JSON.stringify()和JOSN.parse()
  5. lol模型导入ue4_Houdini amp; UE4 程序化建模——石头(一)基础工作流
  6. Improved GAN
  7. python信号量怎么用_Python3.X 线程中信号量的使用方法示例
  8. UE3 供游戏性程序员的使用的性能最优化方法
  9. Bitmap对图像的处理
  10. php _line_,php基本语法
  11. 最基本的01背包问题
  12. 腾讯云与本地主机socket通信网络问题
  13. 四成单身、平均年薪19万、最爱买房,原来真实的程序员是这个样子的…...
  14. ipsec ikev2 中转
  15. input[type='radio'] 自定义样式___通过label标签重置input[radio]样式
  16. 基于JAVA网上家教信息管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  17. AI领域各个方向大牛博客汇总
  18. 在线测试手机性能软件,性能:三大跑分
  19. gitlab运行后修改存储位置
  20. 浏览被植入木马的网站,可能也会中木马

热门文章

  1. Adobe LiveCycle Designer
  2. IFE 耀耀学院(基础综合)
  3. 考研英语 - word-list-7
  4. Java是什么?我们为什么要学习Java?
  5. ORY Hydra项目详解
  6. 【Latex】Latex插入代码块
  7. 小程序wxs使用教程
  8. 【QT信号和槽】学了C++不学QT就太亏了
  9. iOS开发之iOS10简单适配
  10. 初,中高级宏观经济学区别和联系