【问题标题】:using srec_cat to fill an S-Record file with a word使用 srec_cat 用单词填充 S-Record 文件
【发布时间】:2017-01-14 17:06:04
【问题描述】:

我有一个 S-Record 格式的输入文件,它的未使用区域需要使用 srec_cat.exe 填充给定的单词模式 [比如说 0xAABBCCDD]。

我正在尝试以下语法

srec_cat.exe <original file> -fill <fill pattern word> -within  <startaddress> <end address>  -o <outputfile> −Output_Word

此语法给出错误。你能帮忙看看正确的语法吗?

【问题讨论】:

  • 告诉我们错误信息是什么!?
  • 您是打算填满整个文件,还是只填空洞?
  • 您的 &lt;startaddress&gt; &lt;end address&gt; 字段在我编辑之前被解释为标记并隐藏 - 但如果您使用的是 -within 范围,它们在任何情况下都不应该存在。
  • 内是什么意思?整个文件?

标签: binary embedded microcontroller crc32


【解决方案1】:

-fill 过滤器文档指出:

-填写 地址-范围

此过滤器可用于填充 字节 等于 的数据中的任何空白。 ...

bytes 上的亮点是我的)。

这指定填充值是一个字节而不是一个字。

srec_cat examples关于填空,你需要使用-generate选项和-repeat-data;类似的东西:

srec_cat <infile>
        −generator ’(’ <startaddress> <end address> −minus −within <infile> ’)’ 
                   −repeat-data 0xaa 0xbb 0xcc 0xdd 
        −o <outfile>

(为清楚起见,换行)

但请注意,您可能需要更改字节顺序以适应目标所需的字节顺序。我在您的原始文件中省略了 -Output_Word 选项 - 这可能需要也可能不需要。

我在某种程度上是猜测;您可能需要进行试验 - srecord 实用程序的语法及其文档有些晦涩难懂。 srec_input documentation 中描述了生成器,它本身不是一个实用程序,而是描述了所有 srecord 实用程序通用的通用输入。

【讨论】:

  • @user1771823 :不,你不能用 0xffffffff 替换 0xff;这就是我回答的重点!正如我还指出的,如果你用 4 个 0xff 填充一个洞,那和用一个 0xffffffff 填充它有什么区别?
  • @user1771823 :如果您想在字节上填充任意序列,请使用 -repeat-data 选项。再次参见 srec_cat 示例。
  • @user1771823 :然后您需要编辑您的问题;给出和回答尚未提出的问题是没有意义的。
  • @user1771823 :但它仍然显示 0xFFFFFFFF 允许与 0xAABBCCDDEE 不同的解决方案,并且您继续让读者对错误消息一无所知。您已指定 actual 文件名,但仅使用 paceholders 作为范围,这是一个令人困惑的组合 - 它要么是真正的命令行,要么是语法指南 - 不是两者。
  • 这是我使用的命令 C:\mks\temp\Srecord>srec_cat App_Original.s37 -repeat-data 0xaa 0xbb 0xcc 0xdd - over App_Original.s37 -o output27.s37 这是我得到的错误 misplaced "-REPeat_Data" option Usage: srec_cat [
猜你喜欢
  • 2019-01-08
  • 2015-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多