реклама на сайте
подробности

 
 
> avr-binutils в ubuntu 12.04 64bit: не могу слинковать .o, сделанный из бинарника
LordVader
сообщение Oct 7 2012, 17:36
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 18-10-06
Пользователь №: 21 418



стоят avr-gcc, avr-binutils и libc-avr.
Делаю из бинарника объектный файл с целью влинковать его:

Код
>avr-objcopy -I binary -O elf32-avr --rename-section .data=.progmem.data,contents,alloc,load,readonly,data --redefine-sym _binary_top_mlz_start=fpga --redefine-sym _binary_top_mlz_end=fpga_end top.mlz top.o

тут всё ок.

далее линкую:
Код
>avr-gcc -mmcu=atmega128 -Wl,-Map=core.map zx.o interrupts.o main.o ps2.o spi.o depacker_dirty.o rs232.o rtc.o atx.o joystick.o version.o tape.o kbmap.o top.o   -o core.elf
/usr/lib/gcc/avr/4.5.3/../../../avr/bin/ld: avr architecture of input file `top.o' is incompatible with avr:51 output
collect2: ld returned 1 exit status


Версии:
Код
>avr-gcc --version
avr-gcc (GCC) 4.5.3
>avr-objcopy --version
GNU objcopy (GNU Binutils) 2.20.1.20100303


ЧСХ, те же версии тулзов в mint 11 64bit линкуют всё на ура.

Я неправ в опциях avr-objcopy или это баг в тулзах?
И (риторическое) что делать? sm.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Oct 7 2012, 17:52
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



В опциях avr-objcopy надо указать целевую архитектуру (avr:51), но навскидку не скажу как именно, какими ключами это сделать.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
LordVader
сообщение Oct 7 2012, 18:01
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 127
Регистрация: 18-10-06
Пользователь №: 21 418



Цитата(Сергей Борщ @ Oct 7 2012, 21:52) *
В опциях avr-objcopy надо указать целевую архитектуру (avr:51), но навскидку не скажу как именно, какими ключами это сделать.

"-O elf32-avr" -- разве не указание архитектуры?


Прочёл ман и дошло...
Сергей, спасибо за подсказку.
добавил в avr-objcopy "-B avr:51" и всё слинковалось.
Go to the top of the page
 
+Quote Post
alx2
сообщение Oct 8 2012, 04:34
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(LordVader @ Oct 7 2012, 23:01) *
"-O elf32-avr" -- разве не указание архитектуры?
Нет, это указание формата.
-O --output-target <bfdname> Create an output file in format <bfdname>


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 19:06
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016