objcopy --gap-fill 仅用于特殊部分

Posted

技术标签:

【中文标题】objcopy --gap-fill 仅用于特殊部分【英文标题】:Use objcopy --gap-fill only for special section 【发布时间】:2012-11-23 14:02:58 【问题描述】:

是否可以仅将 objcopy-parameter --gap-fill 用于某些特定部分?我不想用例如填充所有内容。 0xAA 因为我想在现有的 EEPROM 中保留一些旧部分。当它们被例如覆盖时很糟糕0xAA。但在其他一些部分,我完全想要这种行为。

感谢您的帮助。

【问题讨论】:

【参考方案1】:

您可以使用以下命令指定填充的结束地址:--pad-to

例如: avr-objcopy.exe -I ihex -O binary --gap-fill 0xFF --pad-to 0x1FFE fkmegax8.hex fkmegax8.bin

objcopy 规范: --gap-fill val 用 val 填充部分之间的间隙。此操作适用于段的加载地址 (LMA)。这是通过增加具有较低地址的部分的大小并填充使用 val 创建的额外空间来完成的。 --pad-to 地址 将输出文件填充到加载地址地址。这是通过增加最后一部分的大小来完成的。多余的空间用 `--gap-fill' 指定的值填充(默认为零)。

我将最终的 hex 文件与 srec_cat.exe 合并在一起。

因此,如果您可以将文件逐节放在一起,则可以在每个新间隙之后放入填充字节。

【讨论】:

以上是关于objcopy --gap-fill 仅用于特殊部分的主要内容,如果未能解决你的问题,请参考以下文章

用于仅从字符串中删除特定特殊字符的正则表达式

使用 objcopy 将文本文件添加到二进制文件,但 objcopy 抱怨架构

如何从填充部分停止 objcopy

如何避免 objcopy 炸毁文件?

binutils工具集之---objcopy,ranlib,size

如何为 sde-objcopy 指定架构?