RTV forum PL | NewsGroups PL

Jak poprawnie zdefiniować sekcję bootloadera w Eclipse z AVR pluginem, aby uniknąć błędów?

Eclipse - definicja sekcji bootloadera

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak poprawnie zdefiniować sekcję bootloadera w Eclipse z AVR pluginem, aby uniknąć błędów?

JS
Guest

Mon Nov 16, 2015 9:35 pm   



Witam,

Próbuję przesiąść się ze środowiska VMLAB + avrgcc na Eclipse + AVR
plugin + avrgcc. W celach treningowych chciałem skompilować program
zawierający część procedur w sekcji bootloadera. Dostaję błąd:

........ /../../avr/bin/ld.exe: section .bootloader [00002bd8 ->
00002eed] overlaps section .data [00002bd8 -> 00002d8f]
make: *** [mypos.elf] Error 1

W poprzednim środowisku taki błąd pojawiał się, gdy w makeflie-u nie
było definicji:

LDFLAGS = -lm -Wl,-M,--section-start=.bootloader=0x7c00

Tu wygląda, że trzeba dopisać deklarację "bootloader" do pliku
Release\mypos.map ale on uparcie przed kompilacją odtwarza się do
pierwotnego stanu i deklaracja znika.

Jak należy zdefiniować taką deklarację, żeby została uwzględniona?

Pozdrawiam
JS

Artur Miller
Guest

Mon Nov 16, 2015 10:29 pm   



W dniu 2015-11-16 o 21:35, JS pisze:
Quote:
Witam,

[...]
Tu wygląda, że trzeba dopisać deklarację "bootloader" do pliku
Release\mypos.map ale on uparcie przed kompilacją odtwarza się do
pierwotnego stanu i deklaracja znika.



..map to raczej plik wynikowy linkera.

a.

JS
Guest

Tue Nov 17, 2015 7:53 pm   



W dniu 2015-11-16 o 22:29, Artur Miller pisze:
Quote:
W dniu 2015-11-16 o 21:35, JS pisze:
Witam,

[...]
Tu wygląda, że trzeba dopisać deklarację "bootloader" do pliku
Release\mypos.map ale on uparcie przed kompilacją odtwarza się do
pierwotnego stanu i deklaracja znika.



.map to raczej plik wynikowy linkera.

a.

Znalazłem!!!

Zarówno makefile jak i plik .map są tworzone na bieżąco, więc ich
modyfikacja rzeczywiście nie ma sensu.
Trzeba we właściwościach projektu wybrać Settings -> AVR C Linker ->
General i okienku Other Arguments wpisać:

-Wl,-M,--section-start=.bootloader=0x7c00 (gdzie 0x7c00 to adres
segmentu bootloadera, np. 0x7c00 dla ATmega32)

Makefile jest wtedy tworzony z tą opcją i błędów kompilacji już nie ma.

Pozdrawiam
JS

elektroda NewsGroups Forum Index - Elektronika Polska - Jak poprawnie zdefiniować sekcję bootloadera w Eclipse z AVR pluginem, aby uniknąć błędów?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map