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³