PIC CCS C Compiler?

 ( J0se | 2016. február 14., vasárnap - 21:15 )

Sziasztok!

Egy PicKit3 beszerzését fontolgatom mostanában. Hiányzik a mikrokontroller programozás, és hobbi szinten szeretném tovább űzni. Anno a suliban a CCS compiler-el tanultuk az MCU-k programozását, ezért ezzel a környezettel vagyok a leginkább tisztában. A baj az, hogy 350$ az ára, én viszont egy kis hétvégi programozgatásért nem szeretnék ennyi pénzt adni. Ennek a csomagnak azonban elérhető egy ingyenes demo változata is, annak azonban sehol sem tudtam utána nézni, hogy ez milyen limitációkat tartalmaz a fizetőshöz képest. Talált valaki valaha valami ezzel kapcsolatos leírást, vagy esetleg akad valaki, aki CCS-t használ, méghozzá az ingyenes változatot? Az a valaki megoszthatná velem hogy milyen formában limitálják a funkcionalitást, ha lejár a 45 nap.

(Tudom hogy a Microchip ad ingyenes fejlesztőkörnyezetet a programozáshoz, de Netbeans alapú, és ha lehet kerülném a Java-t, persze ha nincs más, kénytelen leszek használni)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Tudom, hogy nem ez volt a kérdés, de az Atmel 8 bites mikroprocesszoraihoz szabadszoftveres eszközök vannak. Indulásként az Arduino például tökéletes. Kb 10000 Ft egy fejlesztő board, ehhez nem kell semmi más, amit meg kellene venni. (Igaz, a fejlesztő program hozzá szintén Javás, de nem tudom ez miért kellene, hogy számítson felhasználóként.) 15 dollár egy zsebprogramozó a 8 bites AVR-ekhez, amit szintén kezel a nyílt forrású AVRDude, és ezzel nyers csipet is programozhatsz. avrgcc-vel lehet rá fordítani. Minden legális, semmi nem jár le, repóból települ és out of the box működik a legtöbb disztrón.

Ha PIC, akkor használd a gputils csomagot.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Vagy az XC8-at.

Ha engem kérdezel, akkor:
- 32-bit, ARM, leginkább Cortex M0/M3/M4
- GNU C, szimpátiától függő IDE
- csillió gyártó valamelyikének termékei, akár natúr IC, akár valami devboard formájában (pl. STM32, NXP LPC, stb.)

Én így 2016-ban nem erőltetném a 8-bites cuccokat, még hobbira sem... a CCS fordító által beszélt nyelv pedig nem C, csak szólok, mielőtt meglepődsz. Kevés dolog van, amit jobban rühellek, mint amikor valaki szándékosan dafke is inkompatibilis cuccot gyárt, mikor van egy totál elterjedt világszabvány.

OK, hogy 2016 van, de ha például kerékpár világítás a cél, a világít, nem világít, villog állapotok vannak, egy nyomógomb és egy LED, akkor szerintem igen durva dolog hardware-rel telepakolt 32 bites mikrokontrollert használni, amikor egy néhány kHz-ről járó 8 bites mikrokontroller is már-már túlzóan sok mondjuk egy 5 lábú SOT23-as tokban.

A másik, hogy én például assembly-ben szeretek programozni, s egész egyszerűen könnyebb átlátható méretű regiszterekben gondolkodni.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Valóban, assembly-ben "némileg" problémásabb az egyes kontrollerek közötti átjárást megoldani, az egyéb sajátosságokkal együtt...

A 32-bites ARM bizonyos esetekben valóban túlzás, egyszerűbb feladatra én inkább szerényebb AVR-t, esetleg szerényebb MSP430-at használnék.
Emellett C-ben egyszerűbb az átjárás is (akár STM32-re pl.), bár a kód felhasználhatóságának mértéke függ attól is, hogy lett az a program megírva...

Az egyetlen előnye, hogy elfér pici helyen (és ennek megfelelő fogyasztással).
Bár egy TQFP48 sem annyira óriási méretű a maga 9x9mm-ével.
Illetve van egy valag DIP-tokos modell, ami látszólag előnyös tud lenni hobbistáknak. A valóságban annyira sok előnye azért ennek nincs. Meg kell venni egy normális devboardot, azon van programozó adapter, rajta egy normális mikrokontroller modell, és kivezetve minden lába. (Olcsóbb lesz, mint egy Pickit3!) Végleges áramkör építésénél meg sokkal-sokkal kényelmesebb házilagos kivitelezésben egyoldalas SMD panelt csinálni, mint furkálgatni a csillió lyukat a panelra.

Az, hogy van benne egy valag nem használt hardver, az kinek fáj? Gyakorlatilag messze van attól, hogy pénzbe kerülne (nettó 170-180 Ft körül indulnak a Chipcadnél a 12F-ek, nettó 200 egy valamirevaló 12F15xx, nettó 290 Ft egy Nuvoton Cortex M0, kb. $1 az ebayen egy minimum STM32F100, ez az árkülönbség max. sorozatgyártásnál számít), ha nincs bekapcsolva, akkor fogyasztani sem fog a sok periféria. Ugyanúgy le lehet vinni az órajelét, és akkor ugyanúgy baromi keveset fog fogyasztani.

Bármit lehet assemblyben programozni, ARM-ot is, és még csak az sem igaz, hogy rettentő nehéz lenne. Amiért szinte senki nem csinálja (míg 8-bites PIC-eknél sokan), az az, hogy gyakorlatilag nincs rá szükség. Van annyi kraft a mikrokontrollerben, hogy ne kelljen szopni az assemblyvel (max. kritikusabb részeken egy-egy assembly-betét), továbbá van ingyen jó minőségű C fordító. Ezek egyike sem mondható el a 8-bites PIC-ekről. A nagyobb PIC-eknél meg minden előnye elveszik a PIC termékcsaládnak (nem is olcsó, továbbra sem kompatibilis semmivel se, és nincsenek pici tokozásban).

Az "átlátható" méretű regisztereket ugye csak viccnek szántad? Amint nem elég az "átlátható" méretű regiszter (ez elég hamar be fog következni, mivel 8 bit a való életben sok mindenre nem elég), akkor máris elkezd assemblyben bonyolódni az élet, és máris messze vagyunk az átláthatótól. Ugyanez 32-biten meg "átlátható" kód marad assemblyben, mivel kb. minden elfér a regiszterben, és a szorzásra/osztásra sem kell függvényeket írni.

https://www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-03x
Elkezdődött már majd egy hónapja, de self paced.

A 15 eurót előkészíted, megveszed Farnell-től a lapkát és el van boronálva.
http://uk.farnell.com/texas-instruments/ek-tm4c123gxl/tm4c123g-launchpad-tiva-c-eval/dp/2314937

Ha csak végig akarod nézni (jegy nélkül) akkor nagyjából bármilyen lappal nekiállhatsz. Értékelésre saját tool-okat használnak Keil 4-es verziójával.