Почему редактирование скрипта компоновщика по умолчанию в rtems вызывает ошибку сегментации? - PullRequest
0 голосов
/ 26 марта 2019

Мне нужно добавить новый раздел в мое приложение (.elf).У меня есть скрипт компоновщика по умолчанию.Затем я прочитал руководство по GNU Linker.Следуя инструкциям в руководстве, я отредактировал файл сценария компоновщика.Однако приложение выдает ошибку ошибки сегментации, когда область байта 0x400 зарезервирована для секции .patchText, показанной ниже.

Вот соответствующая часть редактируемого мной сценария компоновщика:

.patchText :
{
   *patchObsw.o (.text .data .rodata)
   . = 0x400;
} > ram

В этом случае приложение компилируется и связывается успешно, но при запуске приложения возникает ошибка сегментации.

Если я удалю строку . = 0x400; из сценария компоновщика, повторите процесс компиляции и компоновки.все еще успешно, нет ошибки сегментации.

Согласно руководству по компоновщику GNU эта строка в порядке.

Я не мог понять, в чем здесь проблема.

...