Я создал компоновщика памяти сценарий и сохранил его как memory.ld в Eclipse IDE: Project: свойства: GCC линкера: разное: Я добавил -М -T memory.ldКак решить ошибку в скрипте компоновщика?
memory.ld:
MEMORY
{
ram (rw) : ORIGIN = 0x4000000 , LENGTH = 2M
}
SECTIONS
{
RAM : { *(.myvarloc)
} > ram }
В моей программе гр: Я сделал глобальное объявление как:
__attribute__ ((section(".myvarloc")))
uint8 measurements [30];
ОШИБКИ:
/usr/bin/ld: FEBRUARY section `.text' will not fit in region `ram'
/usr/bin/ld: region `ram' overflowed by 20018 bytes
/usr/lib/i386-linux-gnu/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
(.text+0x2b): undefined reference to `__init_array_end'
/usr/lib/i386-linux-gnu/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
(.text+0x31): undefined reference to `__init_array_start'
/usr/lib/i386-linux-gnu/libc_nonshared.a(elf-init.oS): In function `__libc_csu_init':
(.text+0x57): undefined reference to `__init_array_start'
/usr/bin/ld: FEBRUARY: hidden symbol `__init_array_end' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
Ошибка связана с переполнением '.text' /' ram' not' .myvarloc'. – anishsane
Ваш сценарий компоновщика, вероятно, должен рассказать компоновщику, что делать с остальной частью кода/данных и т. Д., А не только, что делать с секцией .myvarloc – nos
Большое спасибо за ответ. Не могли бы вы привести мне пример? – user3252048