PIC vs ATMEL #2
VF
vf at elte.hu
Fri Feb 13 14:02:55 CET 2004
Thus spake Gyorgy Varga <gylab at freestart.hu>:
> Vegyel egy C tankonyvet. Abban le vagyon irva. A #if parametere
> termeszetesen lehet makro, sot tulajdonkeppen en meg csak makrot
> talaltam ott.
Irjatok egy peldat, amely csinal egy #define makrot, es a makroban
a makro argumentumaitol fuggo #if elagazast.
A konyv itt van elottem, ilyen peldat nem latok.
Tehat valami ilyesmire gondoltam:
#define szamol(op,arg1,arg2)
#if op='+'
arg1+arg2
#else
#if op='-'
[..]
Ilyet tud a prepocesszor?
> Es ha elut a villamos, akkor lehet bezarni a ceget, kidobni a teljes
> fejlesztest, Jo ez?
Ezt meg ki mondta? Ha en megertem az asm-et, masok is meg fogjak.
Hiszen itt a listan is mindent jobban tudtok mint en.
> A kovetkezo mondatodat nem nagyon ertem. Ezek szerint te biztonsagi
> szoftvert irsz? Az megint egy mas teszta. Akkor megkerdeznem hogy a
Nem, egeszsegugyi szoftvert. Pontosabban csak a mukodteto szoftvert,
az algoritmust asm forras formajaban kapom, nekem azt cross-assemblerrel
kell a procimra leforditanom es futtatnom.
Ha rossz eredmenyt ir ki, az user jol begyogyszerezi magat a teves diagnozis
alapjan, vagy nem megy el a dokihoz a kezdodo ketoldali szivrohamaval, vagy
lyesmi, szoval ciki. Elterjed a rossz hire a keszuleknek, bukas...
> assemblered tesztelt? A programod tesztelt? (nem a hosszas probalgatas
> modeszerere gondoltam...) A C-hez legalabb vannak tesztelo/analizalo
Persze. Az enyemet en tesztelem, a leforditott progit pedig a fonok
sajat kezuleg (na jo felig automatikusan), egy tobbezer eltarolt tipikus
EKG-t tartalmazo adatbazissal. Maga az algoritmus kb 20 eve folyamatosan
fejlodik, a jelenlegi verzionak nincs (altalam) ismert hibaja.
Amikor o maga fejleszteget, akkor debuggerben teszteli az assemblyt.
Mit lehet tenni, ha csak ahhoz ert :)
Az assembler eleg jol tesztelt, majdnem mint maga a proci.
A progit is igyexem jol megirni.
> eszkozok. Lasd pl. lint. Ezek nem is engednek olyan kodot, amit nem
> ertenek (pl. assembly utasitas). Sot azt is megkerdezem, hogy mivel
> teszteled? A program (ami ugye meg nem tesztelt) altal adott
> informaciokkal? Az ugy nem sokat er.
Na ezt most nem ertem. A keszulek mer valamit, az alapjan allitja fel a
diagnozist. Amit mer, nem lehet rossz, folyamatosan latjuk a kepernyon,
illetve a kutyu kijelzojen. Az algoritmust ezen, vagy virtualis meresek
eredmenyet letoltve tudjuk tesztelni.
Mi kene meg, vagy miben tud tobbet ennel a C? Nem ertem.
>> Es nyilvan gyors is ugye?
> Igen, sot jol tesztelheto/konfiguralhato/portolhato, sot a magam altal
> irt konyvtarak is ragyogoan hasznalhatok mas kornyezetben. Azert annyi
> elonyom van, hogy azt hiszem ismerem a C-t. Igy konnyebb gyors es jo
> kodot irni. :)
Lehet. En csak annyira ismerem, hogy lefordul es fut a progi, optimalizalni
c-ben nem tudok. Arra jo az asm. A portolhatosag mire jo?
Az analizalo algoritmus amugy is asm-ben van, a tobbit pedig amugy is
teljesen at kell irni. Eleg valoszinutlen hogy egy masik procin pont
ugyanolyan legyen minden periferia, mexakitasok, stb... ugy is majdnem
soronkent at kell irni az egesz programot.
Arrol nem is beszelve, hogy ez sok ev alatt a 3. proci, es kozben az
egesz koncepcio is teljesen megvaltozott. Nem nyertunk volna vele
semmit... Sot az eddigi verziok majdnem hogy teljesen ellehetetlenedtek
volna. Ok, az AVR-re majdnem hogy turheto kodot csinal a C, felteve ha
be tudja vagni a library-bol az asm-ben optimalizalt fuggvenyeket, es
csak az alaptipusokat hasznaljuk. Azt allitjatok hogy 80C552-re is
normalisan fordit a C?
> Gyorgy Varga
--
Valenta Ferenc <vf at elte.hu> Visit me at http://ludens.elte.h u/~vf/
Ha Murphy torvenye tevesnek bizonyulhat, akkor fog is.
More information about the Elektro
mailing list