obj-copy игнорирует некоторые отступы - PullRequest
0 голосов
/ 13 сентября 2018

Я столкнулся со странной проблемой в obj-копии руки. Я делаю что-то не так или я столкнулся с ошибкой?

Я хочу заполнить свое изображение с нулями до 0x1000 (4096) выравнивания, и я делаю это заполнение через скрипт ссылки ниже. Проблема в том, что obj-copy не копирует весь отступ, по какой-то причине он останавливается на 0x400.

Я использовал objdump для оценки моего раздела, и он, кажется, имеет правильный размер для заполнения до 0x1000.

Как получается, что hexdump моего двоичного файла некорректно заполнен в случае использования заполнения 0x1000? Я использую objcopy следующим образом для создания моего двоичного файла:

 /usr/local/armhf/r27/bin/arm-axis-eabi-objcopy -I elf32-little -O binary myobj.o myobj.bin

Objdump:

.fill         0000080c  009117f4  009117f4  000117f4  2**0
              CONTENTS, ALLOC, LOAD, DATA

009117f4 l    d  .fill  00000000 .fill
00912000 g       .fill  00000000 __Eloadimg

скрипт сценария:

__Edata = .;

.fill :
{
  FILL(0x00000000);
  BYTE(0x00);
  . = ALIGN(0x1000);
}

__Eloadimg = .;

1 Ответ

0 голосов
/ 19 сентября 2018

Я нашел ошибку, и она была моей. После оценки всех вычислений в моем скрипте компоновщика я обнаружил, что MEM_START был 0x905c00, что делало шестнадцатеричную двоичную копию двоичного вида не выровненной в случае выравнивания 0x1000.

...