Parallax Propeller programozási lehetőségei

Hasonló dokumentumok
6.2. TMS320C64x és TMS320C67xx DSP használata

5.4. Perifériák helyettesítése párhuzamos feldolgozással a Propeller esetében

AVR-Stamp1.0F_USB Leírás, használati útmutató. Rev.B

Labor 2 Mikrovezérlők

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Arduino bevezető Szenzorhálózatok és alkalmazásaik

Útmutató a LOGSYS fejlesztői kábel eszközmeghajtó programjainak telepítéséhez

Mintavételes szabályozás mikrovezérlő segítségével

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

A számítógép egységei

Dr. Schuster György október 30.

Programozási segédlet DS89C450 Fejlesztőpanelhez

Moduláris USB billentyűzet emulátor

SP-PROG (SP-PROG-BT) Univerzális USB (Bluetooth/USB) Programozó

Verzió: PROCONTROL ELECTRONICS LTD

Újdonságok az Arduino szabadszoftveres platform körül. Noll János FSF.hu Alapítvány

HaXSoN Nyílt forrásdú, zárt informatikai rendszer

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

Navigációs GPS adatok kezelése QGIS programmal (1.4 verzió) Összeállította dr. Siki Zoltán

IDAXA-PiroSTOP. PIRINT PiroFlex Interfész. Terméklap

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

Bepillantás a gépházba

11. Haladó ismeretek: személyi számítógépek

Bevezetés a mikrovezérlők programozásába: Ismerkedés az Arduino fejlesztői környezettel

Kameleon Light Bootloader használati útmutató

Általános soros sín (USB) Felhasználói útmutató Rendszerigény Nyomtatója beépített USB portja az alábbi minimális rendszerkonfiguráció mellett használ

Őrjárat Ellenőrző Proximity Olvasó

A Netburner fejlesztőeszköz alkalmazástechnikája

Nagy Gergely április 4.

Házi feladatok Szenzorhálózatok és alkalmazásaik

Számítógép felépítése

Leírás. Készítette: EMKE Kft február 11.

ARM Cortex magú mikrovezérlők. mbed

Könyvtári címkéző munkahely

Rubin SPIRIT TEST. Rubin firmware-ek és hardverek tesztelése esettanulmány V1.0. Készítette: Hajnali Krisztián Jóváhagyta: Varga József

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

Külső eszközök. Felhasználói útmutató

Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares

TI TMDSEVM6472 rövid bemutatása

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Win 8 változatok. 2. sz. melléklet felnottkepzes@gmail.com. Töltse ki az előzetes tudásszint felmérő dolgozatot!

Telenor Webiroda. Kezdő lépések

Ismerkedés a Python programnyelvvel. és annak micropython változatával

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Utolsó módosítás:

Egy PIC-BASIC program fordítása, betöltése

Hardver és szoftver követelmények

Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák

GQ-3x és GQ-4x USB univerzális programozó Kézikönyv

6. óra Mi van a számítógépházban? A számítógép: elektronikus berendezés. Tárolja az adatokat, feldolgozza és az adatok ki és bevitelére is képes.

2016/06/23 07:47 1/13 Kérdések

Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.

Procontrol RSC-E2. Kezelői, és telepítői kézikönyv. Ethernet - soros adatkonverter. Verzió:

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

Bevezető a mikrokontrollerek, az IoT és

A Microsoft terminálszolgáltatás ügyfél oldali hardverigényének meghatározása

Scherer Balázs: Mikrovezérlık fejlıdési trendjei

IDAXA-PiroSTOP JFE RS485 intelligens repeater 2004/0177/0113 Terméklap

telepítési útmutató K&H Bank Zrt.

N98 v C64 cartridge használati útmutató

hardver-szoftver integrált rendszer, amely Xwindow alapú terminálokat szervez egy hálózatba

SATEL. CA-64 RIASZTÓKÖZPONT ( es szoftver verzió) Telepítési útmutató

Point of View Android 2.3 Tablet Kézikönyv ProTab 2XL

T-Mobile Communication Center Készülékek telepítése a TMCC segítségével

Küls eszközök. Dokumentum cikkszáma: Ez az útmutató a külön beszerezhető külső eszközök használatát ismerteti

Telepítési útmutató. Ver 1.0

Külső eszközök Felhasználói útmutató

HÁLÓZATI ISMERETEK GNS 3

A LEGO Mindstorms EV3 programozása

Külső eszközök. Felhasználói útmutató

A személyi számítógép felépítése

kezelési útmutató PC1-s88 interfész digitools.hu

Jotával kompatibilis eszközök listája...2. Tájékoztató a Jota pénztárgép és PC csatlakoztatás használatához...5

SEGÉDLET. A TTMER102 - FPGA-alapú hálózati eszközfejlesztés című méréshez

Netis vezeték nélküli, N típusú USB adapter

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

III. Alapfogalmak és tervezési módszertan SystemC-ben

Iman 3.0 szoftverdokumentáció

Első sor az érdekes, IBM PC ra alapul: 16 bites feldolgozás, 8 bites I/O (olcsóbb megoldás). 16 kbyte RAM. Nem volt háttértár, 5 db ISA foglalat

DEV-JTG-S-01 telepítési és használati útmutatója

Az OPN2001 telepítése és használata

Küls eszközök. Dokumentum cikkszáma: Ez az útmutató a külön beszerezhető külső eszközök használatát ismerteti

Mérő- és vezérlőberendezés megvalósítása ARM alapú mikrovezérlővel és Linux-szal

BEÁGYAZOTT RENDSZEREK TERVEZÉSE UDP csomag küldése és fogadása beágyazott rendszerrel példa

program verzió: 8.65 Genesis Fényreklámok/Németh Attila Telefon: (+36) Fax: (+36)

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Utolsó módosítás:

Mikrorendszerek tervezése

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

(1) 10/100/1000Base-T auto-sensing Ethernet port (2) 1000Base-X SFP port (3) Konzol port (4) Port LED-ek (5) Power LED (Power)

USB keylogger PRO. Használati útmutató. A szállító elérhetősége:

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

1. Fejezet Hardver Installálás

Intelligens biztonsági megoldások. Távfelügyelet

USB adatgyűjtő eszközök és programozásuk Mérő- és adatgyűjtő rendszerek

MPLAB ICD használata

Átírás:

3.5.1. Parallax Propeller programozási lehetőségei A Parallax cég a Propeller mikrovezérlő gyártója fenntart egy OBEX nevű honlapot: ##LINK: http://obex.parallax.com/##, amelyről ingyenes, nyílt forráskódú modulok tölthetőek le, amelyek szabadon felhasználhatóak a saját Propeller alkalmazások fejlesztésében. A Parallax a MIT szoftverlicencezési formát követi, amely megengedi a program forráskódjának szabad, akár üzleti célra történő felhasználását is ##Link: http://obex.parallax.com/license/##. Az egyetlen kötelezettség az, hogy meg kell jelölni a forráskód MIT licenc szerinti használatát. A Propeller chip már igen kevés hardveres elemmel is működőképes, amint ez az ábrán is látható a minimális hardverkonfigurációhoz elegendő egy oszcillátor, egy E2PROM memória és egy ellenállás. 1. ábra A Propeller és a minimális hardver környezet Minthogy a Propeller chip nem rendelkezik a programok tárolására előrelátott belső memóriával, a bekapcsoláskor a programo(ka)t külső tárból kell beolvasnia. Ezt két módon teheti meg: RS232 kapcsolaton keresztül (pl. PC számítógépről). Ugyanis az UART az egyetlen periféria, amellyel a Propeller rendelkezik. külső E2PROM memóriából bit bang olvasási metódussal, mivel a Propeller chip nem rendelkezik I2C sínnel. Ébredéskor a Propeller chip először az UART-on keresztül próbál kommunikálni. Amennyiben ez nem sikerül a programo(ka)t az E2PROM-ból próbálja meg beolvasni.

A Propeller chip RS232-ők keresztüli programozásához elegendő egy egyszerű programozó áramkör használata, amely a 4. ábrán van bemutatva. Mivel manapság egyre nehezebb RS232 soros porttal ellátott személyi számítógépet beszerezni, egyre gyakoribb az USB2serial ##USB soros## átalakítók használata. Ezek az átalakítók a FTDI áramköreit használják ##LINK: http://www.ftdichip.com/ftproducts.htm/##. Erre egy példa a Demo Board áramkör diagramja látható a következő ábrán. 2. ábra A Propeller chip RS232-es programozója A Propellerrel használatos programozási nyelvek A Parallax vállalat által a Propeller chip programozására hivatalosan támogatott nyelvek a Spin és az assembly. Nem hivatalos fejlesztések is léteznek a közösségi honlapokon, úgy mint: Basic, C, C++. LISP, Java, stb. ##LINK:http://humanoidolabs.blogspot.tw/2012/03/ultimate-list-of-big-brain-languages.html## Propeller chip, C fordítóprogram Bevezetés A Parallax hivatalosan két programnyelvet fejlesztett ki a Propeller chiphez: a Spin és a Propeller assembler. A chip kereskedelembe bocsájtását követően a felhasználói közösség hamar egy C fordítóprogram fejlesztését követelte a Parallax-tól a Propeller chip számára. A Parallax szerződést kötött az ImageCraft céggel mely kifejlesztette az ICCV7 C fordítóprogramot a Propeller chip számára. Az ICCV7 átlagosan 5-től 10-szer gyorsabb a Spinben íródott programoktól. Sajnálatos módon a szoftver ingyenes változata erősen limitált volt képességeit illetően, a teljes funkcionalitásért a felhasználók zöme nem volt kész pénzt fizetni ezért a termék hamar elérte az EOL (end of life elhasználódott) ciklust. A létező lehetőségek kínálatával elégedetlen Parallax közösség egy ingyenes ANSI C fordítóprogramot írt meg melyet Catalina-nak hívtak. A Catalina egy nagyon sokrétű szerszám, de hivatalosan a Parallax nem támogatja.

Mivel a C fordítóprogram nagy szükségletnek bizonyult a felhasználók körében, ezért a Parallax egy saját új fejlesztésű C fordítóprogram kidolgozásába kezdett. A Propeller chip 2/es változata pillanatnyilag kidolgozás alatt áll és a Parallax lehetővé szeretné tenni az operációs rendszer generálását a Propeller platform számára annak érdekében, hogy az alkalmazások fejlesztését a teljesen át lehessen vinni PC környezetből Propeller környezetbe. Ehhez a Propellerhez egy logikus lehetőségként a GCC fordítóprogram portolása merült fel. Ez lehetővé tenné a Propeller 2 számára egy Linux kernel alapú operációs rendszer futtatását. A GCC fordítóprogram jelenleg béta tesztelési fázisban van és támogatja a Propeller 1 és Propeller 2 platformokat is. Ez annyit jelent, hogy bővülőben van egy szabványos C könyvtár mely teljesen összhangban van az ANSI C szabvánnyal. Mivel az olyan szabványos parancsok mint a scanf és a printf memóriaigényesek lehetnek ezért léteznek olyan nem-szabványos parancsok is melyek segíthetnek a források megspórolásán. Az ANSI C kompatibilis kód használatának lehetővé tétele miatt a Propeller-GCC támogatja az XMM metódust azaz a külső RAM memória csatlakoztatását a Propeller chiphez. Négy féle memória modell létezik melyek alapján a Propeller-GCC fordítja és szolgálja a programokat: COG program natív PASM parancsokba fordítódik és csakis a COG' RAM memóriából hajtódik végre, LMM (large memory model) program PASM parancsokba fordítódik, melyek kis kernel álltal hajtódnak végre, a program és a stek a HUB memóriába kerül, a kernel feladata kiolvasni a HUB memóriából a COG' RAM memóriájába melynek feladata a parancsok végrehajtása, CMM (compressed memory model) a program bájt kódba fordítódik, hasonlóan mint a SPIN esetében, XMM (extended memory model) program PASM parancsokba fordítódik melyek kis kernel segítségével hajtódnak végre a program külső memóriában van, ami lehet EEPROM, Flash, SRAM, SD kártya vagy valamilyen más memória. A PropellerGCC nagyon hasznos tulajdonsága, hogy lehetővé teszi a C++ kód használatát is. A PropellerGCC és a GCC közötti különbségek: A C nyelvezet zöme támogatva van a PropellerGCC-ben és azonnal hozzá lehet látni a programozáshoz a Propeller chip belső szerkezetének az ismerete nélkül is. Ellenben léteznek olyan kulcsfontosságú korlátok és kiegészítők melyeket a Propeller implikál a GCC-ben: Specifikus hardver funkcionalitás, mint a tű regiszterek, több mag és rögzítő mechanizmus leírása a propeller.h fájlban található melyek nélkül a Propeller-GCC nem tudna működni, a memória modell egyedi a PropellerGCC-re és definiálni kell fordítás közben, a Propeller chip rendkívül limitált memóriával rendelkezik (32 + 16 KB) ezért a szabványos könyvtárak nagy száma sok helyet foglal el, vagy nem fér el a belső memóriában.

Ezek mellett a Propeller chip támogat minden definíciót mint a GCC is, de létezik néhány ami Propeller chip specifikus: PROPELLER nincs szükség ezt kiemelni mert alapértelmezett, hogy Propeller chip számára fordítódik a program PROPELLER_LMM LMM memória modellt definiálja PROPELLER_CMM PROPELLER_XMM PROPELLER_XMMC PROPELLER_USE_XMM CMM memória modellt definiálja XMM memória modellt definiálja XMMC memória modellt definiálja XMM vagy XMMC memória modellt definiálja PROPELLER_64BIT_DOUBLES double mint ahogy 64 bites változót definiál PROPELLER_32BIT_DOUBLES double mint ahogy 32 bites változót definiál PROPELLER2 akkor használjuk ha Propeller2 számára fordítódik a program Simple IDE Mint ahogyan a GCC, a Propeller-GCC-t is a parancsablakból hívható. Léteznek változatok Windows-ra, Linux-ra és Mackintos-ra is. Annak érdekében, hogy a program írása könnyebb feladat legyen egy grafikus fejlesztői környezet is ki lett fejlesztve, aminek a neve SimpleIDE ahogyan az látszik is az 3-as és 4-es ábrákon. A SimpleIDE program úgynevezett QT programnyelvben íródott. 3. ábra

4. ábra A PC beállítása Annak érdekében, hogy Propeller számára tudjunk fordítani programokat először, bizonyos szoftvereket kell telepítenünk. Elsősorban a SimpleIDE-t kell letölteni a következő oldalról https://sites.google.com/site/propellergcc/downloads. A SimpleIDE telepítő magában foglalja a Propeller-GCC-t is. Ebben a példában a Propeller demó lapot fogjuk használni melyet a Parallaxtól lehet beszerezni és mely USB kábellel csatlakozik a PC-hez. A lap tartalmaz egy FTDI chipet is, amelyik virtuális soros portként viselkedik, amelyhez a megfelelő meghajtó programokat le kell tölteni a következő weboldalról www.parallax.com/usbdrivers. A meghajtó programok telepítését követően a Propeller demó lapot csatlakoztatni kell a számítógéphez a már említett USB kábel segítségével és a tápot csatlakoztatni kell a demó lapra. El kell indítani a SimpleIDE-t és a felső jobb sarokban található legördülő menüből ki kell választani a virtuális COM portot melyen keresztül lehet kommunikálni a demó lappal. Ezeket elvégezve tudunk hozzálátni a program írásához és annak fordításához a Propeller chiphez. Első program A SimpleIDE-be beírni a következőket: #include "simpletools.h" // olyan parancsokat tartalmaz mint a printf int main() // fő program print("hello world!"); // a parancsablakba ír ki üzenetet Ezek után kattintatni a Program -> Run with terminal vagy kattintatni az F8 billentyűre. Ezek után a lenti 3-as ábrán látható parancsablak fog megjelenni.

Második program 5. ábra Ebben a példában egy LED diódát szükséges üzemeltetni amely a Propeller csip 23-as tűjére van csatlakoztatva. A SimpleIDE-be a következőket kell begépelni: #include "simpletools.h" // olyan parancsokat tartalmaz mint a printf int main() // fő program while(1) // végtelen hurok high(23); // a 23-as tűre logikai 1-est állítunk pause(1000); // várunk 1/10 szekundumot low(23); // a 23-as tűre logikai 0-át állítunk pause(1000); // várunk 1/10 szekundumot Harmadik program A Propeller demó lap 0 számű tűjére piezzo hangszórót csatlakoztatni és 3kHz hangfrekvenciát generálni 1 szekundum hosszan. A SimpleIDE-be begépelni a következőket: #include "simpletools.h" // alap parancsokat tartalmaz mint a freqout int main() // fő program freqout(0, 1000, 3000); // a freqout parancs generál egy frekvenciát a 0 tűn, // melynek hossza 1000 ms, frekvenciája 3000 Hz