yes (09.06.2004 09:21, просмотров: 1) ответил Warrior на А вспомнить никак нельзя? :) Там именно в линкере что-то нужно крутить? Потому как в асме никак не получается...
хэлп нужно читать, скрипты линкера смотреть http://www.hmug.org/man/1/gcc.html
скрипт линкера можно найти так
если
bin/arm-elf-gcc - путь к компилеру
то
arm-elf/lib/ldscripts - путь к скриптам (на уровень выше лежит стартап - crt0.o)
можно либо поправить эти файлы
либо сказать gcc -nostartfiles -Wl,Tmy_script.x(по-моему) передать собственный скрипт линкеру
совсем хорошо - Makefile написать, в котором отдельно вызывать gcc -c
и
ld с ключами для линковки
очень помагает
arm-elf-ld -help
man gcc
и т.д.
info ld - как писать скрипты
в скрипте либо добавить свою секцию
SECTIONS
{
. = 0x10000;
.text : { *(.text) }
. = 0x8000000;
.my_data : (*(.my_data))
.data : { *(.data) }
.bss : { *(.bss) }
}
и нужные переменные в С (attribute) в асме .section
либо перечислить (вместо *) в скрипте файлы из которых переменные брать
.my_data : {my_file(.data) my_once_more_file(.data)}
способов много - читайте доку