c: hi-tech 9,80, interrupt asm
Miroslav Draxal
evik na volny.cz
Pondělí Březen 31 13:12:22 CEST 2014
Něco málo bych rád přímo na Vás. Váš mail je [econf na centrum.cz]?
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Hynek Sladky
Sent: Monday, March 31, 2014 12:53 PM
To: HW-news
Subject: Re: c: hi-tech 9,80, interrupt asm
No vidite, uz je to dlouho a mnoho detailu jsem si nevzpomnel... Tohle jsem
nasel na konci kodu:-)
do {
....
} while (1);
// dummy call to prevent removing vectors function by optimizer
vectors ();
Samozrejme se to misto nikdy neprojde, takze se funkce nezavola, ale zustane
v kodu zachovana.
Diky za odkaz na PDF. Kdyz jsem psal prvni bootloader, tak zrejme jeste
prezentace nebyla k dispozici, nicmene to mam resene dost podobne. Pak to uz
fungovalo, tak uz jsem to nemenil :-)
Hynek Sladky
Dne 31.3.2014 12:30, Miroslav Draxal napsal(a):
No a jak řešíte, aby vám překladač neoptimalizoval tu vaší funkci? Udělejme
nejjednodušší možnou funkci ve tvaru:
static void vectors (void) @ 4 {
#asm
goto 0x804 & 0x7FF
#endasm
}
potom, pokud jí někde v kódu nevoláte, tak ji překladač zoptimalizuje a
nepřeloží ji.
XC8 to skutečně schroupe správně 9.80 nikoli.
Tohle Vám skutečně chodilo pod 9.83?
Jak to dělat správně s bootloaderem po XC8 je tady
http://www.microchip.com/stellent/groups/SiteComm_sg/documents/DeviceDoc/en5
58478.pdf
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140331/fa7c3ac3/attachment.html>
Další informace o konferenci Hw-list