AVR GCC, umiestnenie premennej na zadanu adresu

Stano stano.hw@gmail.com
Sobota Srpen 16 15:11:05 CEST 2008


Zaujimalo by ma aj v EEPROM aj vo FLASH, nech si doplnim znalosti.
Co sa tyka citania cez funkcie s tym problem nemam, len hladam nejaky 
ekvivalent toho Keiloveho _at... pre GCC ak existuje.

Jan Waclawek  wrote / napísal(a):
>> Jedine co chcem dosiahnut je to, ze ked pouzivam premenne v EEPROM, 
>> napriklad
>> char str_prog[] PROGMEM = "Retazec vo FLASH";
>>     
>
>
> Tak v EEPROM alebo vo FLASH? ;-)
>
>   
>> tak aby v pripade zmeny retazca alebo pridani dalsich compiler 
>> neprepisal to urcene miesto. Viem ze zapisat alebo citat mozem lubovolnu 
>> adresu, ale to compileru nezabrani na tu adresu nieco umiestnit a to je 
>> prave to co chcem osetrit.
>>     
>
> Linker postupuje zdola nahor, takze bud tu premennu (alebo miesto pre nu) deklarujete ako prve (a mate len jeden zdrojak alebo sa linkuje ako prvy); alebo si ho jednoducho "rucne" umiestnite na vrch FLASH alebo EEPROM.
>
> PS. GCC MA pamatove segmenty ale nema pamatove triedy, t.j. napr. k premennej a ktora je inde ako v RAM sa neda pristupit jednoducho ako napr. b = a, ale len cez "zaobalovacie" funkcie napr. b = eeprom_read_byte(&a).
>
> wek
>
>
> _______________________________________________
> HW-list mailing 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