[elektro] atmel

vajk fekete halaloszto at yahoo.co.uk
Sat Mar 10 09:55:24 CET 2012


Nem akarom nagyon beszolas szagura, de a pascal pontosan addig atlathato es pontos-szep dolog, amig nem kezdesz el dinamikus memoriafoglalast hasznalni. 

vajk


________________________________
 From: Varsanyi Peter <varsanyi at t-online.hu>
To: elektro at tesla.hu 
Sent: Saturday, 10 March 2012, 8:54
Subject: Re: [elektro] atmel
 



                         Sziasztok!


Csendben olvasgatom itt az Atmel-es tanácsokat, és a véleményt, miszerint a 
Pascalt (pláne a DOS-ost) el kellene felejteni. Elmondok valamit érdekesség 
gyanánt...

Lehetne vitákat folytatni róla, de a DOS-os idõkben a Borland Turbo 
Pascalja volt az egyik legmegbízhatóbb és legkönnyebben megtanulható 
programnyelv. Nagyon nagy mértékben áttekinthetõ a kód, és a szoros 
szintaktika miatt nem nagyon lehetett elkövetni elírásokat. A nyomkövetõ 
funkciói pedig tökéletesek voltak! Nagyon nagy, több tízezer soros 
(ügyviteli) programokat is írtam benne, félgrafikus menüvel (DOS-on!), a 
legnagyobb Pascal kódom lefordítva a 400 kByte-ot közelítette.

Amikor áttértem mikrovezérlõre, rögtön belefutottam egy itthon szinte 
teljesen ismeretlen Pascal fordítóba, az Embedded Pascalba: 
<http://users.iafrica.com/r/ra/rainier/>

A fordító évekkel ezelõtt abba lett hagyva, nem igazán használható a 
jelenleg letölthetõ formájában. De én mégis beleástam magam... Pár extra, 
amit érdemes megemlíteni:

- A forrása teljes mértékben Turbo Pascal kompatibilissé tehetõ, ugyanaz a 
forrás jól megírva egyszerre és változtatás nélkül fordítható Turbo Pascal 
és Embedded Pascal alatt. Ezt úgy érte el, hogy a fordítási opciók 
különfélék, így mindkét fordítónak lehet olyan feltételes fordítási 
opciókat adni, hogy a nem neki szóló kódrészletet ne fordítsa le, ill. 
gépspecifikus kódot rakjon be helyette; pl. az LCD-re küldendõ szöveget a 
képernyõre küldje.

- A fentiek folyományaképp simán PC-n debuggoltam, és amikor tökéletes volt 
a kód, csak átraktam mikrovezérlõbe. Volt pl. amikor egy 1500 oldalas 
DLMS/COSEM protokollt kellett leprogramoznom, aminek a mintakódjait 
Delphi-ben adták meg. A DLMS/COSEM értelmezõ rutinok (Õrült összetett kód, 
aki nem ismeri magát a protokollt, el sem tudja képzelni, milyen bonyolult. 
Nem tulzok, de szerintem én vagyok az egyetlen itthon, aki BITSZINTEN 
tudja, mi mit csinál benne...) DOS alatt lettek letesztelve több száz 
megabyte-nyi adatra, majd amikor tökéletes lett, UGYANAZ a forrás lett 
be-include-olva 5 helyre:
- Embedded Pascal for 8052-vel 8052-es procira, egy már meglévõ régi 
fejlesztésbe
- Embedded Pascal for AVR-el többféle AVR procira, az új fejlesztéseimre
- Free Pascalba, így LINUX-os értelmezõk is készültek, diagnosztikára
- Delphibe, így a Windows-on futó adatmegjelenítõ programba
- Free Pascal alatt WinCE-re is próbálgattam, de a WinCE ismeretének a 
hiánya miatt abbahagytam; a kódom amúgy jól futott.
- És persze minden megvan DOS alatt is, nekem az a "bázis" a mai napig.

- A fordító beépítve tartalmaz egy Assembly fordítót, így a sebességet 
igénylõ rutinokat (pl. interruptok) általában abban írom meg a végén, a 
többit meg csak Pascalban. De minden kódfordítását ASM-ben is látom, 
sokszor csak onnan kell kiemelni a lefordított kódot, és kicsit 
letisztogatni, optimalizálni.

- A letölthetõ progi csak pár procit támogatott, de észrevettem, hogy a 
konfig fájljai nagyon hasonlítanak az Atmel AVR Studió assemblerének konfig 
fájljára. Írtam hát hozzá egy kis konverter progit, és máris a legújabb AVR 
procikra is tudok fordítani, és használok is vagy egy tucat különféle 
típust, mikor hova melyiket. A legnagyobb kódjaim AVR-re a 60-80 kByte-os 
méretet elérik, és se panasz, se sebesség-reklamáció nincs rájuk. A 
fejlesztésben is gyorsan haladok, mert az évek során minden szükséges 
rutinkönyvtárat megírtam hozzá saját magam.

- Mivel én magam fejlesztek mindent kompletten, hardvert és szoftvert, nem 
okoz gondot, hogy egy elvetemült fordítóval fordítok. Ellenben ritka okosan 
van megírva, ha a srác nem hagyta volna abba a fejlesztését, ma piacvezetõ 
Pascal fordító lehetne AVR-re. Szinte minimális számú baki van benne, 
azokat meg már nagyon jól ismerem, nem futok bele mégegyszer.

Én természetesen tiszteletben tartom mások véleményét, hogy pl. a C a jövõ, 
bár a mai JAVA-s világban ki tudja, meddig lesz az... De igenis lehet 
Pascal alatt is kódot hordozni, PC-n fejleszteni-debuggolni mikrovezérlõs 
kódokat, és a Free Pascalnak és Embedded Pascalnak hála pl. ugyanazt a 
kódot lefordítani Dos, Linux, Win32, Win64, WinCE, ARM, AVR, 805x, Z80 alá. 
Azt hiszem, ezt a teljesítményt még C-ben is nehezen csinálnátok utánam 
páran... Pedig ehhez csak KÉT, alkalmasan megválasztott fordító kellett! 
Szóval óvatosan a Pascal leszólásával!

Kétségtelen tény, hogy bajban lennék, ha egy beágyazott WEB szervert 
kellene leprogramoznom, de egy USB protokollal se küzdenék, amikor ma 
modul-szinten meg tudom vásárolni az USB-soros vagy Eth-soros 
konvertereket. És a hazai gyártási volumeneket ismerve olcsóbbra is jön ki 
egy ilyet bevágni, nulla szívással, mint nekilátni a netrõl összevadászni 
include fájlokat, hibákat keresgetni benne, debuggolni, összepofozni a 
saját kódunkkal, stb.

A fentieket tényleg csak mint érdekesség mondtam el, nem akarok senkit és 
semmirõl meggyõzni. Sõt még csak a fordítómat sem ajánlom, mert eredeti 
formájában nem használható, 8 éves know-how-t pedig nem fogok senkinek se 
átadni, hiszen egyéni vállalkozóként gyakorlatilag ebbõl élek.

Bye:

Pepe

Mobil:(20)-942-7232 mailto:varsanyi at t-online.hu http://www.varsanyipeter.hu/

-----------------------------------------
          elektro[-flame|-etc]


More information about the Elektro mailing list