zaprogramować eeprom

Aug 31, 2006 7 Replies

Witam!



Czy WinAvr może jakoś wygenerować plik hex dla eeproma? Czy w kodzie źródłowym mozna jakoś kompilatorowi powiedziec aby umieścił w eepromie takie a takie bajty pod kolejnymi adresami?



Chodzi mi o umieszczenie w eepromie Atmegi8 dużej ilości stałych. Obecnie ręcznie edytuje plik HEX i ręcznie go wysyłam do pamięci rom (isprog), ale widze ze kompilator winavr'a automatycznie generuje plik eeprom.hex, tylko ze on zawsze jest pusty....;(



Użytkownik sikurasaka napisał:

Musisz zadeklarować te bajty w sekcji __attribute__((section(".eeprom")))

Podrawiam Grzegorz

Użytkownik Grzegorz Kurczyk napisał:

No może zbyt lakonicznie to opisałem. Najlepszy będzie przykład. Osobiscie robię to tak:

// najpierw prosta definicja coby nie klepać tego __attribute.... #define eepromseg __attribute__((section(".eeprom"))) // i przykładowa definicja tablicy bajtów char tablica[10] eepromseg = {2, 4, 7, 4, 3, 7, 146, 255, 0, 128};

Pozdrawiam Grzegorz

Taka definicja już jest w avr-libc w avr/eeprom.h Sekcja nazywa się EEMEM.

Ha! Idealnie ...dzieki Teraz to można programować....;)

Użytkownik antek napisał:

Oj... to tyle czasu żyłem w niewiedzy ;-)

Pozdrawiam Grzegorz

Użytkownik antek napisał:

I sprawa się wyjasniła. W WinAVR-20050214 takiej definicji nie ma.

Pozdrawiam Grzegorz

Tak dodali to bodajże w przedostatniej z kolei :)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required