Ako na "dieru" v programovej pamati?

Josef Stengl ok1ced@nagano.cz
Středa Říjen 15 00:00:00 CEST 2008


No ono to zase ta lhostejné není, protože šetříš informacema a já si pořád nepořídil křišťálovou kouli. Nechtějí mi k tomu přibalit návod k obsluze.

A co si představuješ pod pojmem díra? Prázdné místo, nesmí se tam zapisovat, nebo je jedno co tam bude, nebo chceš přepsat blok flashky danými daty ... Tedy uznávám že nejpravděpodobnější je že jsi zřejmě myslel přeskočit, ale jak by jsi to zase programoval ....

No nic k věci. Konkrétně pro avr by možná šlo použít takzvané named section kde pojmenovaná sekce by bylo pole o definované velikosti (a hodnotách) (PGM_P) a pak říci linkeru kam ho má umístit (-Wl --section-start=.preskoc=0x1E000). 

Nikdy jsem to nedělal, hledal jsem to kratší dobu než jsem jsem psal tento hanopis a pokud ti to bude k něčemu užitečné tak zbytek informací najdeš na nějakém nejednom serveru. 

Klíčové slovo, jak zde někdo již psal je linker, protože toto je věc linkeru a ne programovacího jazyka. Ten s  tím, chudák, nemá nic společného. Hele a psal to můj předpisatel :-). Ale asi nechtěl suplovat vyhledávač, tak to nerozvinul.

můžeš začít zde:
http://www.sigterm.de/projects/sens-o-nuts/Dokumentation/atmel/libc/FAQ.html#faq_reloc_code
Hezkou noc, du spát.


Lukáš Grepl wrote:
>> Je vlastne takmer lahostajne, o aky jednocip a programovaci jazyk
>> ide; ale keby to niekto chcel silou-mocou vediet, ide o AVR a gcc
>> (takmer som napisal WinAVR... ;-) )
> 
> Konkrétní návod nevím, ale obecně by mělo jít říct linkeru, do jakých 
> oblastí paměti má výsledný kód linkovat. A když některou oblast v této 
> definici vynecháte, tak by tam prostě měla zůstat ve výsledku díra.
> 
> Lukáš Grepl
> _______________________________________________
> 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