-
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ł
Następne wpisy z tego wątku
- 23.03.15 19:50 pawel
- 23.03.15 20:12 Mario
- 23.03.15 20:35 Grzegorz Niemirowski
- 23.03.15 21:11 Grzegorz Niemirowski
- 23.03.15 21:31 pawel
- 24.03.15 10:31 k...@g...com
- 24.03.15 11:40 Marek
- 25.03.15 17:29 Sebastian Biały
- 25.03.15 20:24 pawel
- 25.03.15 20:31 pawel
- 25.03.15 21:22 Marek
- 25.03.15 21:29 Marek
- 25.03.15 21:35 pawel
- 25.03.15 21:35 Marek
- 25.03.15 21:45 Marek
Najnowsze wątki z tej grupy
- Dlaczego energia elektryczna jest droga i cały czas drożeje
- twardy dysk stuka
- Oclenie alkalicznych akumulatorów
- Powerbank jednonapieciowy, a trzynapieciowy
- Lustra w maszynie ASML
- DC blocker i buczące toroidy
- Problemy TSMC cd
- Detektor
- Może tutaj się uda: [NTG] Elewacja / dziurawa Churka
- Falownik jednofazowy a żarówka
- Agregat i "legalność" instalacji
- Uziom
- (Ponownie) odkryto, że ładowanie pulsacyjne robi dobrze
- driver led ?
- Długość wtyku zasilającego ?5.5mm
Najnowsze wątki
- 2024-05-04 Bonusowe pytanie rozliczenie sie z elektrownia - fotowoltaika.
- 2024-05-04 Ujawnienie porady prawnej prokuraturze
- 2024-05-04 Jaką kamerkę samochodową polecacie?
- 2024-05-04 Warszawa => Spedytor międzynarodowy <=
- 2024-05-04 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-04 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-05-04 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-05-04 Łódź => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-04 Warszawa => Interactive/Experience Designer <=
- 2024-05-04 Berlin => IT Systems Administrator and Customer Support Engineer <=
- 2024-05-04 Warszawa => Mid IT Recruiter <=
- 2024-05-04 Odpowiedzialność PORTALU za reklamy
- 2024-05-04 Lunar Rover był elektrykiem. Ważył 35 kg Zasięg 80 km Na Księżycu w 1971 r.
- 2024-05-04 Marki => ERP Implementer <=
- 2024-05-04 Gdańsk => Head of International Freight Forwarding Department <=