<div dir="ltr">2008/8/16 Jan Waclawek <span dir="ltr">&lt;<a href="mailto:konfera@efton.sk">konfera@efton.sk</a>&gt;</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;">
<div class="Ih2E3d"><br>
&gt; Jedine co chcem dosiahnut je to, ze ked pouzivam premenne v EEPROM,<br>
&gt; napriklad<br>
&gt; char str_prog[] PROGMEM = &quot;Retazec vo FLASH&quot;;</div></blockquote><div>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
</div>Tak v EEPROM alebo vo FLASH? ;-)<br>
<div class="Ih2E3d"><br>
&gt; tak aby v pripade zmeny retazca alebo pridani dalsich compiler<br>
&gt; neprepisal to urcene miesto. Viem ze zapisat alebo citat mozem lubovolnu<br>
&gt; adresu, ale to compileru nezabrani na tu adresu nieco umiestnit a to je<br>
&gt; prave to co chcem osetrit.<br>
<br>
</div>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 &quot;rucne&quot; 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 &quot;zaobalovacie&quot; funkcie napr. b = eeprom_read_byte(&amp;a).</blockquote>
<div><br>Ještě doplním dokumentaci k segmentům:<br><br>• <a href="http://www.nongnu.org/avr-libc/user-manual/mem_sections.html">http://www.nongnu.org/avr-libc/user-manual/mem_sections.html</a><br><br>Jinak co se týče EEPROM, tak sice je možné ze zdrojáků přímo (elegantně) generovat proměnné v EEPROM, ale zas tak často se to nedělá a hlavně se to neděje automaticky, alébrž je to nutné ručně nastavit v Makefile při generování objektů. Takže rozhodně se není třeba bát, že by zrovna v případě EEPROM tam kompilátor něco hodil automaticky...<br>
<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
wek<br>
<div><div></div><br></div></blockquote></div></div>