Witam wszystkich Chcę zadeklarować tablice w pamięci programu w ATmega 128. Program piszę w C pod WinAVR 20070122 (chyba najnowszym).
Robie to tak: #include <progmem.h>
const char PROGMEM *s = "jakis napis"; lub przez static static unsigned char PROGMEM ascii[] = {0x00,0x00,0x00 };
Oba przykłady z Googli. Dostaje takie komunikaty błedów:
simple.c:5:21: error: progmem.h: No such file or directory simple.c:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before '*' token simple.c:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ascii'
Jak widać nie widzi biblioteki progmem. Tu mam pytanie, czy coś w nowszej wersji kompilatora pozmieniali, by go zbliżyć do czystego C, tak jak to było z niektórymi poleceniami ustawiającymi pojedyńcze bity? Przeszukałem folder WinAVR i nie znalazłem pliku progmem.
Drugie pytanie, tak przy okazji, bo właśnie chciałem to przetestować. Czy jest duża różnica w prędkości pomiędzy odczytem z pamięci programu a z pamięci danych? Chce wykorzystać PRG_RDB(...);
Za wszelką pomoc dziękuję.
Pozdrawiam