AVR GCC, umiestnenie premennej na zadanu adresu

Jan Waclawek konfera@efton.sk
Sobota Srpen 16 17:55:00 CEST 2008


EEMEM je zrejme makro z nejakej kniznice ci header suboru co pouzivate, co tieto premenne da do nejakeho extra section, ktora bez blizsej definicie zacne od nuly (to je pre eeprom v poriadku). 

Nie je vsak nevyhnutne to pouzivat, ak si udrzite poriadok, staci si tie premenne alokovat "rucne", jednoducho si povedat, ked budu, aj tak sa k nim ako k premennym neda pristupovat (t.j. da, ale to je zle, lebo to v skutocnosti budr pristupovat do RAM na tych istych adresach).

wek


-----Original Message-----

From:  Jakub Ladman <ladmanj@volny.cz>
Subj:  Re: AVR GCC, umiestnenie premennej na zadanu adresu
Date:  Sat 16. Aug 2008 15:54
Size:  1K
To:  HW-news <hw-list@list.hw.cz>

> Ješt doplním dokumentaci k segmentm:
>
>http://www.nongnu.org/avr-libc/user-manual/mem_sections.html
>
> Jinak co se týe EEPROM, tak sice je možné ze zdroják pímo (elegantn)
> generovat promnné v EEPROM, ale zas tak asto se to nedlá a hlavn se to
> nedje automaticky, alébrž je to nutné run nastavit v Makefile pi
> generování objekt. Takže rozhodn se není teba bát, že by zrovna v
> pípad EEPROM tam kompilátor nco hodil automaticky...

no nevim,
mám tu zhruba tohle

unsigned char alarm_eedata[ALARMS][7] EEMEM = {{1,7,7,30,10,10,99},
										{1,7,7,35,15,10,99},
										{1,7,7,45,20,10,99},
										{1,7,8,0,25,10,99},
										{0,0,0,0,0,0,0},
										{0,0,0,0,0,0,0},
										{0,0,0,0,0,0,0},
										{0,0,0,0,0,0,0},
										{0,0,0,0,0,0,0},
										{0,0,0,0,0,0,0}};

a pak nap.
void alm_eesave(unsigned char nr){
	eeprom_write_block (alarm_data[nr], alarm_eedata[nr], 
sizeof(alarm_data[ALARMS]));	
}

a kompilátor si naprosto sám volí adresy v EEPROM a já se o n naprosto 
nestarám, takže vaše tvrzení že se není teba bát ... atd. asi není úpln 
oprávnné.

jestli Vás zajímají parametry linkeru tak vzte že tam není nic než 
defaultní -Wl,-Map,.map -mmcu=atmega64


Jakub Ladman
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
ng list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list





Daląí informace o konferenci Hw-list