2009. augusztus 30., vasárnap

Marslakók Wiki

Arra gondoltunk, hogy ezentúl érdemes lehetne szétválasztani az eseményeket és a konkrét tudásbázist, ami a csapat mögött áll. Ezért létrehoztunk egy Wikit, ahol talán az eddigi fejlesztésekről tudunk talán részletesebben és struktúráltabban írni. Egyelőre kizárólagos nyelvként az angolt választottuk, későbbiekben előfordulhat, hogy magyarul is elérhetővé tesszük a leírásokat.

Tehát Wikire fel!

Marslakók wiki

Attila

2009. május 6., szerda

MSP430 debug Eclipse alatt

Dacára annak, hogy szeretjük a TinyOS-t, érdemes lehet sima gcc-ben is programozni az msp430 mikrovezérlőket. Ez a leírás arról szól, hogy hogyan állítsuk össze magunknak a szükséges környezetet. Bár Windows XP alatt állítottam össze a hozzávalókat, alapvetően tetszőleges natív Linux disztribúció és Cygwin alatt is alkalmazhatóak az itt leírtak, néhány értelemszerű módosítással. Ez a leírás ezen az angol nyelvű tutorialon alapszik.
A célhardver egy eZ430-F2013 eszköz, ami tartalmaz egy JTAG/TI spy-bi-wire programozót, valamint a célprocesszort egy zöld LEDdel. Az ehhez és hasonló eszközöhöz való driver online nem elérhető, azt az eszközzel együtt kapott CD-n találjuk meg (egy TIUSBFET.zip nevű file-t kell keresni...). Erre a driverre mindenképpen szükség van a programozáshoz/debughoz! Lássuk tehát, hogy mit kell ezen felül tennünk:
Step 1.: Töltsük le és installáljuk a legújabb mspgcc fordítót és függvénykönyvtárat az
mspgcc.sourceforge.net oldalról. Ez a bejegyzés írásának idején a 2008. 12. 30-i snapshot. Az installer alapértelmezés szerint felteszi a DirectIO nevű drivert is, amely közvetlen hardver elérést tesz lehetővé és a programletöltéshez lesz szükséges később. Windows Vista alatt a driver nem működik! A PATH környezeti változóba be kell rakni a $INSTALL_PATH\msp430\bin könyvtárat installálás után kézzel. A telepítéshez nem szükséges Cygwin; bár enélkül az installer feltelepít néhány további függvénykönyvtárat is.
Step 2.: Eclipse: Céljainkhoz elegendő az Eclipse for C/C++ Developers csomag letöltése és kitömörítése. Ez lényegesen kisebb mint a teljes Eclipse. Tartalmaz továbbá egy Mylyn nevű csomagot, ami egyszerűbb projectekhez nem létfontosságú, később hasznos lehet. Az Eclipse-t nem kell külön telepíteni, hanem elegendő kicsomagolni a célkönyvtárban. A cikk írásakor a 3.4-es (Ganymede) verziónál tartott.
Step 3.: Az integrációhoz szükségünk van a
Zylin CDT csomagra: Ezt a szokásos módon telepíthetjük Eclipse alá:


Step 4.: Ezután nincs más dolgunk, mint készíteni egy új projectet:


A Project->Properties menüben néhány helyen át kell írni a default gcc fordítót msp430-gcc-re, valamint a célprocesszort is definiálni kell a parancssorban, például:
msp430-gcc -mmcu=msp430x2013
Ezen kívül még a library eléréseket kell megadni a fordító számára:

"C:\Program Files\mspgcc\lib";
"C:\Program Files\mspgcc\msp430\lib".

Ehhez álljon itt segítségül néhány screenshoot:







Ezután készítsük el a projectet. Én a szokásos, neten is terjengő blink alkalmazással kezdtem:

Debug üzemmódba a képernyő jobb felső sarkában található bogárra kattintva válthatunk:

A debughoz használt msp430-gdbproxy alkalmazást az alábbiak szerint állítsuk be:

A main fülön a parancssori paraméterek a következőek:
--port=3333 msp430 --spy-bi-wire TIUSB
Ezután létre kell hoznunk egy debug konfigurációt:



A Commands fülön a következő parancsokat másoljuk be az Initialize commands dobozba:
set remoteaddresssize 16
set remotetimeout 999999
set download-write-size 512
target remote localhost:3333
set remote memory-write-packet-size 512
set remote memory-write-packet-size fixed
set remote memory-read-packet-size 512
set remote memory-read-packet-size fixed
monitor erase all
load Debug/test_blink
ahol az utolsó sorba értelemszerűen a megfelelő binárist írjuk! Ezután nincs más hátra, mint elindítani az msp430-gdbproxy konfigurációt, ami után a következő kép fogad, amely szerint türelmesen várakozik a 3333-as porton:

Ekkor elindíthatjuk a debugot is, ami lefordítja és fel is tölti a programunkat. amit ezután elindítani/leállítani pedig a szokásos magnógombokkal tudunk:

A megszokott debug eszközök pedig a jobb oldalon és felül találhatóak.

Attila