AVR GCC, umiestnenie premennej na zadanu adresu

Butrus Damaskus butrus.butrus@gmail.com
Sobota Srpen 16 16:22:21 CEST 2008


2008/8/16 Stano <stano.hw@gmail.com>

> 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
>

Koukal jste se do toho dokumentu v sekci „Using Sections in C Code"?
------------- další část ---------------
HTML příloha byla odstraněna...
URL: http://list.hw.cz/pipermail/hw-list/attachments/20080816/f544f7ba/attachment-0002.htm 


Další informace o konferenci Hw-list