<div dir="ltr">2008/8/16 Stano <span dir="ltr"><<a href="mailto:stano.hw@gmail.com">stano.hw@gmail.com</a>></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Zaujimalo by ma aj v EEPROM aj vo FLASH, nech si doplnim znalosti.<br>
Co sa tyka citania cez funkcie s tym problem nemam, len hladam nejaky<br>
ekvivalent toho Keiloveho _at... pre GCC ak existuje.<br>
<div class="Ih2E3d"><br>
Jan Waclawek wrote / napísal(a):<br>
</div><div><div></div><div class="Wj3C7c">>> Jedine co chcem dosiahnut je to, ze ked pouzivam premenne v EEPROM,<br>
>> napriklad<br>
>> char str_prog[] PROGMEM = "Retazec vo FLASH";<br>
>><br>
><br>
><br>
> Tak v EEPROM alebo vo FLASH? ;-)<br>
><br>
><br>
>> tak aby v pripade zmeny retazca alebo pridani dalsich compiler<br>
>> neprepisal to urcene miesto. Viem ze zapisat alebo citat mozem lubovolnu<br>
>> adresu, ale to compileru nezabrani na tu adresu nieco umiestnit a to je<br>
>> prave to co chcem osetrit.<br>
>><br>
><br>
> 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.<br>
><br>
> 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).<br>
><br>
> wek<br>
</div></div></blockquote><div><br>Koukal jste se do toho dokumentu v sekci „<a class="anchor" name="c_sections">Using Sections in C Code</a>"?<br></div></div><br></div>