代码之家  ›  专栏  ›  技术社区  ›  fearless_fool

如何使用srec\u cat插入两个常量?

  •  0
  • fearless_fool  · 技术社区  · 6 年前

    srec_cat . 我的目标是在.srec文件中的已知位置插入两个常量:

    srcfile.srec
    # carve a hole for and insert crc byte count
    -exclude 0x43c8 0x43cc
    -generate 0x43c8 0x43cc -constant-l-e 0x8e2c 4
    # carve a hole for and insert crc expected value
    -exclude 0x43cc 0x43d0
    -generate 0x43cc 0x43d0 -constant-l-e 0x194fa71a 4
    # output into new file
    -o dstfile.srec
    

    srec_cat: generate repeat data: multiple 0x000043CC values (previous = 0x00, this one = 0x1A)
    

    我可以写一个中间文件并处理它以插入第二个常量,但这似乎是相当繁重的。把我从这样的黑客中解救出来!:)

    1 回复  |  直到 6 年前
        1
  •  1
  •   Georgy Martijn Pieters    5 年前

    我想你需要括号里提到的 man srec_examples


    有时需要将两组数据连接在一起,然后对连接的结果应用筛选器。要做到这一点 你用括号。

    srec_cat                                                  \
        '('                                                   \
            infile -exclude 0xFFF0 0x10000                      \
            -generate 0xFFF0 0xFFF8 -repeat‐string 'Bananas ' \
        ')'                                                   \
        -b‐e‐length 0xFFF8 4                                  \
        -b‐e‐checksum‐neg 0xFFFC 4 4                          \
        -o outfile
    

    然后过滤输入以添加4字节长度和4字节校验和。

    就你而言:

    srec_cat '(' srcfile.srec -exclude 0x43c8 0x43cc -generate 0x43c8 0x43cc -l-e-constant 0x8e2c 4 ')' -exclude 0x43cc 0x43d0 -generate 0x43cc 0x43d0 -l-e-constant 0x194fa71a 4 -o dstfile.srec
    
    推荐文章