eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Eclipse - definicja sekcji bootloadera
Ilość wypowiedzi w tym wątku: 3

  • 1. Data: 2015-11-16 21:35:32
    Temat: Eclipse - definicja sekcji bootloadera
    Od: JS <b...@p...onet.pl>

    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


  • 2. Data: 2015-11-16 22:29:14
    Temat: Re: Eclipse - definicja sekcji bootloadera
    Od: Artur Miller <n...@n...com>

    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.


  • 3. Data: 2015-11-17 19:53:47
    Temat: Re: Eclipse - definicja sekcji bootloadera
    Od: JS <b...@p...onet.pl>

    W dniu 2015-11-16 o 22:29, Artur Miller pisze:
    > 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

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: