2012.12.04. 14:34 keltezéssel, Lajber Zoltan írta: > OK, akkor par dolog, ami mar -reszben, vagy szetszorva- elhangzott: > ugyan osszesen csak kb fel orat neztem a RaspberryPi -t, de szerintem az > inkabb mediacenter, mint real time control rendszer. Eleve, barmilyen > "vastag" os mar nem jatszik.
Így van, az RPi inkább általános célú számítógép, mintsem embedded vezérlő/fejlesztőeszköz. Ezt leginkább a külvilág felé található csatlakozásból lehet megítélni. Az utóbbi célra GPIO, ADC, primitív buszok kellenek, nem pedig HDMI, VGA, USB... USB-n is lehet relét vezérelni, de ehhez komplett arzenál kell, még egy 8 bites CPU-n ez 1db gépi utasítás. :-) Ott vannak a mindenféle development board-ok, azok közül érdemes választani. Pl. a monosx.hu -n kapásból lehet találni sokmindent, nem túl drágán. > Ami vezerlesre alkalmas, viszonylag korszeru es (viszonylag) egyszeru > rendszerek mostanaban vannak: > > -pic alapuak > -eleg nepszeru, sok anyag van hozza a neten > -alapvetoen assembly programozas > -nem tul osszettett (khm) kutyu > -ICE/jtag szerintem bonyolult Alapvetően C-ben programozható, olyannyira, hogy én csak minimális assemblyt írtam eddig PIC-re. Free fordítónak ott van az SDCC. Használható, közel tízezer soros forráskódot, ami HiTech fordítóhoz készült, elvi módosítás nélkül fordítottam le vele egy célgéphez, és működik. PIC18-on nincs JTAG, ICSP van, ami szerintem elég egyszerű, egy PicKit2 kb. 8-10 eFt, de meg is lehet építeni, ha valakinek több az ideje mint pénze. Ezenkívül ott vannak a mindenféle "háromszáldrótos" programozók a neten. A PIC32-n van JTAG, de azt ne vegyük a 8 bites mikrók közé, csak a neve PIC, belül egészen más, MIPS architektúra. Mellesleg a PICkit viszi azt is. :-) > -arduino es szarmazekai,pl olimex es sokan masok > -nyilt rendszer -> sok anyag van neten > -alapvetoen C-ben fejleszteneak > -sok kiegeszitovel (shield) > -eleg jo, ha nincs keznel paka, oszciloszkop :) Utóbbi kb. fél nap után lényegtelen. Ha vezérelni akarsz valamit, úgyis kell páka is, meg a szkóp is jól jön. Meg egy kategóriába vetted, hogy "olimex és sokan mások", erre reagálnék. Az Olimex nem egy konkrét eszköz vagy típus (pl. mint az RPi), hanem egy fejlesztő eszközöket gyártó cég. A thread-ben felsorolt mindenféle processzorral készítenek többféle kiépítésű, bonyolultságú fejlesztőpaneleket, van ott PIC, AVR, ARM, MSP430 és DSP is, hozzá mindenféle modul, stb. Nem attől nyílt vagy zárt hogy Olimex, hardvert gyárt, amira azzal fejlesztesz amivel akarsz vagy tudsz. A hardver maga persze nyílt, ha erre gondolsz, de most inkább szerintem egy adott uC-vel való fejlesztésről volt szó. Egyébként ezeket a fejlesztőpaneleket javasolnám, mert nem drágák, ötletesen vannak megtervezve és igen nagy a választék, mind processzor fajtában, mind pedig kiépítettségben. Van telepakolt kísérleti panel és majdnem üres, csak a procit tartalmazó egyedi feladatra fogható panel is. Itthon a monosx.hu forgalmazza. > Amugy ez kb olyan mint a dist. war, de az arduino/mps430-hoz nem kell > draga ICE meg jtag interface, usb-re dugod, lekuldod a progit egy > parancssal, es kesz. Ez lehet hogy valakinek szempont, de maximum inkább hobbynál vagy első próbálkozásnál. A gyakorlatban úgyis valamilyen bootloadert, távolról frissíthető rendszert kell kialakítani. Az esetek kb. 99%-ában, a saját szívás elkerülése végett... Meg kb. mindenre van free prgramozó, PIC-re, AVR-re, ARM-re... Ezer más paraméter alapján célszerűbb uC családot/gyártót választani, minthogy milyen kábellel tudod letölteni a szoftvert. Csak példaképp: - érdemes eldönteni, mit akar az ember fejleszteni. Primitív hardver elemeket (relé, karakteres LCD kijelző, billentyűzet, UART/SPI/I2C/USB) vezérelni, egyszerű eljárásokkal, alkalmasak a 8 bites mikrovezérlők. - Ha grafikus kijelzőt + GUI-t akarsz a készülékre, és/vagy TCP/IP stack-et, HTTP szervert, vagy egyéb komplexebb feladatot, kép/hanganalízilst, stb. akarsz, akkor a komolyabb 32 bites procik felé kell nézelődni, ARM, MIPS, meg a DSP-k világa felé. Szórakozni lehet a 8 bitesekkel is, van is minden gyártónak ilyen DEMO panelje, de ezek inkább tényleg csak demo-k, egy gyakorlati alkalmazással igen könnyen a megvalósíthatóság határára jutsz. - Ha netán egy komplett oprendszert akarsz rá, tehát már inkább SBC-t akarsz (Single Board Computer) akkor mégkomolyabb hardver kell, több RAM, több Flash, stb... Ez a három eléggé külön terület, alkalmazási területben, bonyolultságban, flexibilitásban, megbízhatóságban (!). ---- Ha megvan kb. az irány, akkor a konkrét gyártó kiválasztásához azt érdemes megnézni, melyikhez milyen fejlesztőeszközök állnak rendelkezésre. Ennek egy része a hardver, bár dev. board szinte mindenhez van, letöltőkábelek is, stb. A drágulás a spécibb hardvereknél kezdődik, pl. debugger, sorozatprogramozó, stb. Nem biztos hogy ezek kellenek. (pl. én konkrétan jól megvagyok debugger nélkül is) Még egy hardver szempont, ami főleg kezdőknek/hobbystáknak igen fontos: - ha túlnősz a dev.boarddal való szórakozáson, és szeretnél saját hardvert tervezni, megvannak-e az eszközeid, képességed, hogy azzal a mikrovezérlővel tervezz? Egy 8 bites MCU-hoz elég egyszerű, de egy 1.4GHz-es 400 lábú BGA tokos ARM procihoz külső DDR2 RAM-mal nem lehet a konyhaasztal sarkán NYÁK-ot farani, házilagosan beültetni sem lehet, és már a megtervezéséhez is komolyabb NYÁK-tervezési ismeretek (+szoftver...) szükségesek. --- A másik része a szoftver. - A "fizetős" C fordítók olyan drágák, hogy gyakran egy kisvállalkozás sem engedheti meg magának, nem még egy hobbysta. "Szerezni" persze lehet, kezdésnek jó, de előbb/utóbb nyűgössé válik. (meg persze nem legális, ami eladásra szánt terméknél elég ciki...) Ha van free C fordító és még jó is, az a legjobb. (persze lehet assembly-ben is nyomatni, ha valaki azt szereti...) - Mennyire van ellátva gyári vagy third-party lib-ekkel az adott architektúra? 8 bites mikrokontrollereknél ez szerintem nem igazán probléma, minden elég egyszerű, de komolyabb ARM/MIPS CPU-nál már elég szívás lenne a RESET vektortól mindent kézzel megírni. Ez persze egyénfüggő, van aki még a printf()-et is megírja, van aki meg mindent össze akar legózni minimális munkával. - Mennyire elterjedt, ismert az adott arch.? Ha kevéssé, akkor egy adott kérdésre a google is kevés választ fog adni, kevesebb lesz hozzá a third-party lib/dokumentáció, a C fordítók se olyan kiforrottak, lehet rá számítani hogy jóval több lesz a szívás. _________________________________________________ linux lista - linux@mlf.linux.rulez.org http://mlf2.linux.rulez.org/mailman/listinfo/linux