Jump to content

    
Sign in to follow this  
LordVader

avr-binutils в ubuntu 12.04 64bit: не могу слинковать .o, сделанный из бинарника

Recommended Posts

стоят 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 или это баг в тулзах?

И (риторическое) что делать? :)

 

Share this post


Link to post
Share on other sites

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

Share this post


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

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

 

 

Прочёл ман и дошло...

Сергей, спасибо за подсказку.

добавил в avr-objcopy "-B avr:51" и всё слинковалось.

 

Share this post


Link to post
Share on other sites
Остаётся вопрос, почему в другом дистрибе ровно те же версии бинутилей всё линковали без -B.

Собраны с разными настройками?

Судя по последнему вопросу, Вы не сами его собирали, а взяли уже собранный кем-то другим (майнтейнером дистрибутива). В таком случае, могло быть все что угодно вплоть до наложения сторонних патчей.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this