eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaavr-gcc adresy funkcji › avr-gcc adresy funkcji
  • Data: 2015-03-23 18:43:06
    Temat: avr-gcc adresy funkcji
    Od: "pawel" <p...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Wtiam.

    Mam taki problem.

    Czy jest taka możliwość żeby adresy funkcji w momencie kompilacji/linkowania
    projektu zrzucić do jakiegoś pliku?
    Chodzi o to że mam tablicę adresów funkcji np:

    typedef int( * HANDLER)(void);
    HANDLER handler[] = {h1, h2, h3};

    I teraz wyłuskać to np: z plików .o.

    Udaje mi się to ze zmiennymi które zawierają np: napisy (stałe) w ten sposób
    że umieszczam je w oddzielnej sekcji w pliku nazwy.c

    char nazwy[] __attribute__((section(".dataflashsection"))) = {"nazwa1",
    "nazwa2"};

    i przy wykonywaniu make wyłuskuję to za pomocą

    avr-objcopy -j .dataflashsection -O binary nazwy.o nazwy.bin

    i wartości zmiennych mam w pliku nazwy.bin

    Niestety kiedy robię tak z adresami funkcji to w pliku wynikowym są tylko
    zera. Umieszczam zmienną handler w pliku handler.c i dalej

    HANDLER handler[] __attribute__((section(".dataflashsection"))) = {h1, h2,
    h3};

    avr-objcopy -j .dataflashsection -O binary handler.o handler.bin

    Czy jest na to jakiś sposób?

    Pozdrawiam
    Paweł

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: