【问题标题】:How do we align the output generated by IAR Embedded Workbench to 4 bytes (or any other desired value)?我们如何将 IAR Embedded Workbench 生成的输出与 4 字节(或任何其他所需值)对齐?
【发布时间】:2021-10-09 12:25:10
【问题描述】:

IAR Embedded Workbench 正在生成输出文件(*.txt,因为我选择了 TI-TXT 格式)。这个.txt 文件的内容是-

@mem_address
00 11 22 33 44 55 66 77 88 99 00 11
01 02 03 04 05

我希望最后,输出对齐到 4 个字节,之后文件会喜欢-

@mem_address
00 11 22 33 44 55 66 77 88 99 00 11
01 02 03 04 05 dd dd dd

其中dd 可以是任何虚拟的有效十六进制值。

是否可以在 IAR 中对齐输出?

我尝试过使用#pragma data_alignment = 4,但它只能对齐变量,并且必须在任何变量声明之前编写。有什么办法(可能通过修改链接器文件)使整个输出对齐字?

【问题讨论】:

    标签: linker alignment memory-alignment iar


    【解决方案1】:

    您可以使用ielftool 来填充输出文件中的任何空白或在末尾添加一些填充。对于您的用例,以下命令应该可以工作(详情请查看IAR C/C++ Development Guide):

    ielftool my_input.out my_output.out --fill 0xFF;0–0x14
    

    除了使用命令行,您还可以在 IAR Workbench 中配置此类操作。查看Project > Options > Linker > Checksum 对话框(请参阅IDE Project Management and Building Guide)。

    【讨论】:

      猜你喜欢
      • 2022-12-14
      • 2011-02-25
      • 2013-06-21
      • 2019-02-28
      • 2013-10-20
      • 1970-01-01
      • 2021-01-10
      • 2016-06-05
      • 2015-09-29
      相关资源
      最近更新 更多