ARM GCC problem
jirka7a@seznam.cz
jirka7a@seznam.cz
Pondělí Červen 11 09:25:11 CEST 2007
A co uzavrit cely kod do volatile ?
Ja treba v GCC pouzivam:
asm volatile("sei" "\t\n");
Neslo by volatile oznaci cely cyklus for ? Popripade nejakym #def .. vypnout
optimalizaci na tomto miste.
Jirka
----- Original Message -----
From: "Marek Peca" <marek@tynska.cuni.cz>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Monday, June 11, 2007 8:54 AM
Subject: Re: ARM GCC problem
Zdravim,
> Takisto mi je zahadou preco sa v primitivnej cakacej gunkcii
>
> delay(uint_32_t t){
> for(volatile uint32_t n; n < t, n++);
> }
>
> musi pouzut VOLATILE, okrem main() ju nikde nepouzivam.
to je prece jasne z definice toho, co je "volatile". Kompilator pri
optimalizaci _muze_ zjistit, ze tento cyklus nic nedela (zpozdeni
se nepoklada za zadouci vysledek, naopak), proto jej vyoptimalizuje
pryc.
Ono by bylo dobre si zjistit zaklady modernich (= optimalizujicich)
kompilatoru. To zdaleka nechodi jako za starych casu na PMD-85 (nebo
Borland/Turbo Pascal/C), kdy prekladac prelozil konstrukci jazyka do
pevne dane konstrukce ze strojoveho kodu.
ZdraviM.P.
_______________________________________________
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