Skip to content
 

Vývojové prostredie MSPGCC – I. Inštalácia

MSPGCC je open-source vývojový balík pre MCU rady MSP430. Je k dispozícii pre Linux aj pre Windows. Obsahuje kompilátor C, assembler, debugger, vrátane podpory pre ladenie pomocou JTAG adaptéra (pre paralelný port aj pre USB).

Postup, uvedený v tomto článku, vám (snáď) pomôže rýchlo a jednoducho oživiť vývojové a ladiace prostredie MSPGCC pod Linuxom. Ako ladiaci prostriedok predpokladáme MSP430 JTAG adaptér pre paralelný port.

Tento postup je prakticky zhodný s postupom, ktorý nájdete v dokumentácii k MSPGCC, avšak obsahuje aj riešenia drobných problémov a prevedie vás krok za krokom celou inštaláciou.

Všetky informácie o projekte MSPGCC nájdete na stránke http://mspgcc.sourceforge.net.

Kde MSPGCC rastie

Napriek tomu, že existuje niekoľko predpripravených balíkov, odporúčam skompilovať najaktuálnejšiu verziu. Je to veľmi jednoduché a netreba sa ničoho báť. Hlavný dôvod je, že predpripravené balíky sú obvykle viazané na nejakú distribúciu Linuxu a ich inštalácia je oštara.

Takže začneme tým, že vytvoríme adresár v ktorom sa bude všetko odohrávať a nastavíme sa doňho. Predpokladajme, že pracujeme ako root.

mkdir mspbuild
cd mspbuild

Potom stiahneme všetky potrebné balíky z pomocou cvs. Ak si cvs login bude pýtať heslo, stačí potvrdiť (prázdne heslo).

cvs -d:pserver:anonymous@mspgcc.cvs.sourceforge.net:/cvsroot/mspgcc login

cvs -z3 -d:pserver:anonymous@mspgcc.cvs.sourceforge.net:/cvsroot/mspgcc co -P gcc
cvs -z3 -d:pserver:anonymous@mspgcc.cvs.sourceforge.net:/cvsroot/mspgcc co -P gdb
cvs -z3 -d:pserver:anonymous@mspgcc.cvs.sourceforge.net:/cvsroot/mspgcc co -P msp430-libc

MSP430 balíky pre GCC a GDB sú rozšírením štandardného GCC a GDB. Preto potrebujeme stiahnuť aj samotné balíky GCC 3.2.3 a GDB 5.1.1 – verzia je dôležitá, pretože MSP430 rozšírenia sa pridávajú do štandardných balíkov a s inou verziou nemôžu fungovať. Posledný balík – binutils – síce priamo obsahuje podporu pre MSP430, ale rozširujúci patch pre podporu novších procesorov vyžaduje verziu 2.17.

wget ftp://sourceware.org/pub/gdb/old-releases/gdb-5.1.1.tar.bz2
wget ftp://ftp.gnu.org/gnu/gcc/gcc-3.2.3/gcc-core-3.2.3.tar.bz2
wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.17.tar.bz2

Posledným balíkom je msp430-gdbproxy. Ten existuje iba v binárnej forme. Ak by uvedené linky nefungovali (je to jeden z mirrorov sourceforge.net), skúste použiť iný.

wget http://puzzle.dl.sourceforge.net/sourceforge/mspgcc/libHIL.so
wget http://puzzle.dl.sourceforge.net/sourceforge/mspgcc/libMSP430.so
wget http://puzzle.dl.sourceforge.net/sour ... ge/mspgcc/msp430-gdbproxy

Kompilácia

Všetky nasledujúce príkazy predpokladajú, že MSPGCC bude nainštalované v adresári /usr/local/msp430. Môžte skúsiť aj iný adresár, avšak to nemám odskúšané. ýalej predpokladáme, že na začiatku každého bloku príkazov sme nastavení v „našom“ adresári mspbuild.

Začneme s binutils. Predtým, ako ich skompilujeme, nahráme ešte patch potrebný pre novšie typy procesorov (príkaz wget je rozdelený na dva riadky, dajte pozorm aby ste na konci prvého riadku a na začiatku druhého riadku nepridali žiadnu medzeru):

tar xjf binutils-2.17.tar.bz2
cd binutils-2.17
wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/binutils/
binutils-14x1-20x1-20x2-20x3-22x4-42x-42x0-461x.patch
patch -p1 < binutils-14x1-20x1-20x2-20x3-22x4-42x-42x0-461x.patch
./configure --target=msp430 --prefix=/usr/local/msp430
make
make install
cd ..

export PATH=$PATH:/usr/local/msp430/bin

Posledný príkaz nastaví cestu na binárky, toto nastavenie budeme potrebovať pri kompilácii knižníc.

Pokračujeme so samotným GCC:

tar xjf gcc-core-3.2.3.tar.bz2
cp -a gcc/gcc-3.3/* gcc-3.2.3
cd gcc-3.2.3
./configure --target=msp430 --prefix=/usr/local/msp430
make
make install
cd ..

Nasledujú knižnice. Ak ste sa rozhodli inštalovať balík do iného adresára, ako preddefinovaného (/usr/local/msp430), je treba upraviť súbor Makefile v adresári msp430-libc/src – zmeňte nasledujúci riadok:

prefix = /usr/local/msp430

A samotná kompilácia:

cd msp430-libc/src
mkdir msp1
mkdir msp2
make
make install
cd ../..

Na záver skompilujeme GDB:

tar xjf gdb-5.1.1.tar.bz2
cp -a gdb/gdb-5.1.1/* gdb-5.1.1
cd gdb-5.1.1
./configure --target=msp430 --prefix=/usr/local/msp430
make
make install
cd ..

Posledným krokom ja skopírovanie msp430-gdbproxy a knižníc na správne miesto a občerstvenie zoznamu knižníc

cp msp430-gdbproxy /usr/local/msp430/bin
chmod a+x /usr/local/msp430/bin/msp430-gdbproxy

cp libHIL.so libMSP430.so /usr/local/lib
ldconfig

Pred spustením ldconfig skontrolujte súbor /etc/ld.so.conf a súbory v adresári ld.so.conf.d, či obsahujú cestu /usr/local/lib.

Príprava paralelného portu pre msp430-gdbproxy

Ak nebudete pracovať s msp430-gdbproxy ako root, môžte naraziť na problém s paralelným portom – msp430-gdbproxy vyžaduje plný prístup k portu a ten je obvykle pre bežných užívateľov zakázaný (má nastavené práva 660).

Riešenie je jednoduché: zmeňte práva pre prístup k portu (samozrejme ako root):

chmod 666 /dev/parport0

Pokiaľ vaša distribúcia Linuxu používa udev, po ďalšom reboote sa práva nastavia opäť do pôvodného stavu. Preto je potrebné upraviť konfiguráciu udev. Na mojej Fedore FC5 sa konfiguračný súbor nachádza v:

/etc/udev/rules.d/50-udev.rules

Pre iné distribúcie si ho musíte nájsť sami. V tomto súbore nájdite niečo ako:

# lp devices
KERNEL=="lp*",                  GROUP="lp", MODE="0660"
KERNEL=="parport*",             GROUP="lp", MODE="0660"
KERNEL=="irlpt*",               GROUP="lp", MODE="0660"
KERNEL=="usblp*",               GROUP="lp", MODE="0660"
KERNEL=="usb/lp*",              GROUP="lp", MODE="0660"

a zmeňte príslušný riadok na:

KERNEL=="parport*",             GROUP="lp", MODE="0666"

Tým zabezpečíte, že po reboote udev nastaví prístupové práva správne. Samozrejme, existujú aj ďalšie riešenia – napríklad pridať užívateľa do skupiny lp a podobne. Akékoľvek riešenie, ktoré dovolí zapisovať užívateľovi do /dev/parport0, je akceptovateľné.

Úprava prostredia

Poslednou úpravou je pridanie cesty k programom balíka MSPGCC.

Ak používate bash, na koniec profilu (súbor .bashrc) pridajte riadok:

export PATH=$PATH:/usr/local/msp430/bin

Na záver

Už len ostáva pripojiť JTAG a MCU, nahrať prvý program a pustiť sa do experimentovania. Ale o tom nabudúce.

 

Print Friendly, PDF & Email
2 238 zobrazení