![]() |
|
|
![]()
|
|
| Hiehachi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 27.12.2005 Где: Ukraine->Odess a Репутация: нет Всего: нет |
Здраствуйте.
Разбираюсь с пакетом WINAVR. При запуске командной строки : avr-as -mmcu=avr5 -ahls=asm.l freqpomp.s tavr.s -o tavr.o - создается обьектный файл для линковщика и ненужно-контрольный файл asm.l который я заказал в командной строке. Все хорошо и нет никаких ошибок. Но при обработке обьектного файла дизасемблером на командах jmp и call нулевые указатели адреса. И после запуска линковщика : avr-ld -Map maps.l -T tavr.lnk tavr.o -o file.bin создается мною попрошенный файл maps.l и сама готовая програма в файле file.bin. При просмотре бинарника дизасемблером IDA PRO ADVANCE ну и просто визуально, я замечаю что в командах jmp и call нулевые физические адреса. У меня есть подозрительно-вопросительные соображения что возможно я что-то в скипте недописал? , вот его код: OUTPUT_FORMAT ("binary") SECTIONS { .text : { * ( .text )} . = 0x00020000; --- адресное смещение для формирования файла .data : { * ( .data )} .bss : { * ( .bss )} __do_copy_data = 0; __do_clear_bss = 0; __stack = 0x0300; } примечание: сегменты .data и .bss у меня не использованы и не создаются , я просто не создавал пока никаких переменных. Помогите словом добрым пожалуйста. |
|||
|
||||
| Hiehachi |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 27.12.2005 Где: Ukraine->Odess a Репутация: нет Всего: нет |
Привет всем.
Разобрался с этим непонятным глюком, но не полностью. Оказалось какие-то страности с командами JMP и CALL на которых неправильно генерирует "OPCODE" то-ли ассемблер, то-ли линковщик. Со скриптами линковщика помоему все в норме. В итоге пришлось пойти на уступки : при компиляциях выбирал не AVR5 модель, а AVR2 модель CPU, в эту модель входят все контролеры которые не могут исполнять CALL,JMP - ,а исполняют взамест их RCALL,RJMP. Переработал свои функции : заменил эти команды, компилировал, все работает хорошо. Но боюсь придется наступить на грабли когда буду увеличивать размер своей программы. Эти команды RJMP,RCALL имеют 2Kb смешение. Но с этим еще можно как-то смирится. Спасибо за внимание, тема закрыта. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |