Aj da i ja bacim neku u vezi upotrebe kontrolera, kompajlera i njihove efikasnost. Kao prvo, svako ko iole ima nameru da se ozbiljno bavi ovom rabotom i ne zna za koji kontroler da se odluči, neka izabere onaj za koji misli da mu se najviše sviđa. Ovo kažem iz više razloga, bilo koji je bolji nego ni jedan, isto kao i bicikl, kada naučite da terate mali lako možete preći na višebrzinski ili onaj sa štanglom (zavisi opet od dužine nogu).
Moja priča počinje 85-86 i zx spektruma, naravno u upotrebi je bio basic a asembler je bio samo za "izabrane". Prve programe sam pisao u bejziku ali ni blizu nisu bili brzi kao tamo neke "fabričke" igrice. U međuvremenu su neki časopisi počeli objavljivati listinge pisane u asm-u. Tada je na scenu stupio "Z80 tools" i moji prvi koraci u pisanju (prekucavanju) polu-razumljivog koda. Nije bilo interneta, pdf-a i raznih tutorijala. I taman kada sam počeo da kontam komande, pređem na Amigu1200 (motorola 68hc020 32bit) i program "max asembler" na nemačkom?! Naravno, dižem ruke od asm. programiranja (izvini Korak) :).
Sad se vi pitate čemu sve ovo gore pišem, a odgovor je jednostavan: nemam pojma!
Da ne bude da sam džabe krečio uradio sam jednostavan test nekih kompajlera, svi su komercijalni osim jednog. U pitanju je AVR familija kontrolera a programi (kompajleri) su: BascomAVR (bejzik), FastAVR (bejzik), CodeVisio (C) i WinAVR (C). Ovaj zadnji je gcc što će reći besplatan. Test program je jednostavan, for (next) petlja 0 do 255, vrednost se šalje na neki port a u okviru petlje sabiranje dve 16-bitne varijable. Rezultati su sledeći:
FastAvr: 390 byte, trajanje jednog ciklusa 5uS
Bascom: 770 byte, --------------------- 9uS
CodeVisin: 940 byte, ------------------- 5.2uS
WinAvr: 533 byte, -------------------- 1.5uS
Test kontroler mega16 na 8MHz.
Asembler nisam uvrstio u konkurenciju jer bi zbog autorove optimizacije i jednostavnosti programa bio "nedodirljiv" u oba pogleda (duzina hex koda i brzine).
Upotreba makroa u asembleru drastično smanjuje vreme pisanja programa i uz to poboljšava čitljivost istog. Svakome preporučujem da proba napisati asm program za omiljeni kontroler, mnogo toga se može naučiti o samom hardveru kontrolera.
Sa druge strane C je veoma rasprostranjen što ne mora značiti da je najbolji (VHS je pobedio BETA sistem bez obzira što je ovaj drugi bolji) a asembler i dalje ostaje privilegija "underground raje".
*___*




Re: mikrokontroleri od A do Sh
Re: mikrokontroleri od A do Sh