PIC vs ATMEL #2
VF
vf at elte.hu
Thu Feb 12 11:19:50 CET 2004
Thus spake Nagy Endre <gumo at lucifer.kgt.bme.hu>:
>> A hordozhatosagrol annyit hogy egy kollega is itt szenved a listan
>> vele, pedig ugyanaz a proci, csak ket kulonbozo fordito.
>
> Ezert is jo a gcc, van egy nagyon nagy rakas platformra.
Az AVRLIB-ben talaltam egy nagyon erdekes dolgot. Van ugye DDR es PIN
fuggveny, ami a porthoz tartozo tobbi regisztert jelenti. Ugy csinalja,
hogy #define PIN(port) = ((port)-1) stb...
Az A,B,C,D portokra jo, az E-re nem.
Talaljatok ki, nekem melyik portra kellett volna...
Tehat meg hibas is, csak az a szerencse, hogy abban a forrasban
speciel eppen nem hasznaltak...
Mondanom sem kell, ilyet asm-ben nem csinal az ember.
> Aprobb modositasokkal (portkezelo makrok, megszakitas tipusa) menni fog,
At kellett irnom az egeszet. Szerencse hogy csak nehany k.
#define helyett fuggvennyel ki lehetett volna javitani, de nem sok
ertelme lett volna futasidoben eldonteni hogy melyik port, es annak
hol is van a DDR regisztere, felesleges idopocsekolas...
> ha korrektul van megirva. Ja, volt olyan kerdes is, hogy megszakithato
> megszakitas van-e: avr-gcc-ben igen, egy sei();...cli(); koze kell irni a
> megszakithato reszt, akarcsak asm-ben.
Ez jo, az IAR doksi azt irja hogy ez nem megy...
(Persze hackelessel biztos meg lehet csinalni, de akkor mennyivel lenne
jobb mint a tiszta asm?)
>> Ha a forditok eleg okosak lennenek, hogy maguktol rajojjenek hogy
>> merrefele szamoljanak, pointert vagy tombot hasznaljanak stb... akkor
>
> Ezekre speciel rajonnek. Az optimalizacio pl. megfordithat, megritkithat,
> kibonthat (unroll), vagy teljesen el is hagyhat egy ciklust, ha az
> aritmetikai vegeredmeny ettol nem valtozik. (Az IO-t pedig volatile
> makrok vedik, tehat az is rendben lesz.)
Vagy rajon, vagy nem. Mondom, konkret peldam van amikor ket kulonbozo
procira masik C forrast vag be a make, mert 30%-os gyorsit.
Nem jon ra a fordito, meg -o123 opcioval sem. Az emberi agy siman.
> Gumo
--
Valenta Ferenc <vf at elte.hu> Visit me at http://ludens.elte.h u/~vf/
Az en kisebbrendusegi komplexusom nem olyan jo, mint a tied.
More information about the Elektro
mailing list