[mirne OT] avr-gcc a umisteni promennych

Ondrej Tuma konference na webjet.cz
Pátek Květen 17 15:34:17 CEST 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dobré odpoledne,

v deklaraci proměnné, lze říct, na jaké místo v paměti se odkazuje.
Díky tomu sem například programově četl celou programovou flash. Nevím
ale zda lze toto i u EEPROM. V každém případě mi byly oporou hlavičkové
soubory jednotlivých AVR čipů, ze kterých sem tyto deklarace okoukal.

Jak se to přesně zapisuje nemůžu najít, ale ty hlavičkové soubory
napoví.

Ondřej Tůma

V Fri, 17 May 2013 12:35:05 +0200
Jan Kasprzak <kas na fi.muni.cz> napsáno:

> 	Dobre odpoledne - jde nejak linkeru z GNU binutils rict,
> aby staticke promenne byly v pameti umistene v nejakem konkretnim
> poradi?
> 
> 	Konkretni problem se tyka avr-gcc: mam "konfiguracni" promenne
> umistene do EEPROM (coz se v avr-gcc dela atributem promenne), a
> chtel bych byt schopen prislusny mikrokontroler konfigurovat jen
> prepsanim EEPROM (EEPROM ma 10x vetsi zivotnost nez programova flash
> pamet). No a jde mi o to, aby ten format dat byl nezavisly na tom,
> jak se mi zrovna tento tyden slinkuje vlastni firmware. Coz bych
> chtel resit tak, ze nejak vynutim umisteni jednotlivych promennych.
> 
> 	Zatim jsem vypozoroval, ze objektovy modul ktery je na
> prikazove radce linkovaciho prikazu jako prvni, ma sve EEPROM
> promenne v EEPROM umistene taky jako prvni. Ale to je zrejme jen
> nahoda. Jde to nejak explicitne vynutit?
> 
> 	Ty promenne jsou konfiguracni nastaveni k ruznym castem kodu,
> takze reseni "dat to vsechno do jedne struktury" nepovazuju za
> stastne. A reseni "cti EEPROM od adresy 0 a rucne to interpretuj" je
> zase zbytecne slozite, a programove pameti je malo.
> 
> 	Diky za tipy.
> 
> -Y.

- -- 
Ondřej Tůma <mcbig na zeropage.cz>
www: http://ipv6.mcbig.cz   jabber: mcbig na jabber.cz   twitter: mcbig_cz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAlGWMdkACgkQBmNIPxOnb/J+2QCffHbcttgDwS7I+kcKRXs/LUj4
iPcAn3QMbgfZ16WL63DDhp1zUF//7hUV
=M+zz
-----END PGP SIGNATURE-----


Další informace o konferenci Linux