eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaavr-gcc adresy funkcji › avr-gcc adresy funkcji
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!wsisiz.edu.pl!.POSTED!not-for-mail
    From: "pawel" <p...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: avr-gcc adresy funkcji
    Date: Mon, 23 Mar 2015 18:43:06 +0100
    Organization: http://www.wit.edu.pl
    Lines: 38
    Message-ID: <mepjbc$5mj$1@portraits.wsisiz.edu.pl>
    NNTP-Posting-Host: ahe102.internetdsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
    Content-Transfer-Encoding: 8bit
    X-Trace: portraits.wsisiz.edu.pl 1427132588 5843 83.16.186.102 (23 Mar 2015 17:43:08
    GMT)
    X-Complaints-To: a...@w...edu.pl
    NNTP-Posting-Date: Mon, 23 Mar 2015 17:43:08 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    Importance: Normal
    X-Newsreader: Microsoft Windows Live Mail 15.4.3555.308
    X-MimeOLE: Produced By Microsoft MimeOLE V15.4.3555.308
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:679618
    [ ukryj 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: