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

válasz