Už ubehol nejaký čas od publikovania prvého článku o inštalácii MSPGCC. Odvtedy sa niekoľko vecí zmenilo – prišla podpora binutils verzia 2.18, nových typov procesorov, gdb verzia 6.8 a podpora rozšírenej sady MSP430X (zatiaľ len v assembleri). Tento článok popisuje kompletnú inštaláciu, aby mohol slúžiť ako príručka „krok za krokom“.
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 msp430-libc
MSP430 balík pre GCC je rozšírením štandardného GCC. Preto potrebujeme stiahnuť aj samotný balík GCC 3.2.3 – 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ť. Balíky binutils a gdb síce priamo obsahuje podporu pre MSP430, ale rozširujúce patche pre podporu novších procesorov a inštrukčnej sady MSP430X vyžadujú verziu 2.18 pre binutils a verziu 6.8 pre gdb.
wget ftp://sourceware.org/pub/gdb/releases/gdb-6.8.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.18.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/sourceforge/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.18.tar.bz2 wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/packaging/patches/binutils-2.18-14x1-20x1-20x2-20x3-22x4-42x-42x0-461x.patch wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/packaging/patches/binutils-2.18-msp430x24x-msp430x26x.patch wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/packaging/patches/binutils-ld_scripts.patch wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/packaging/patches/binutils-2.18-430X.patch cd binutils-2.18 patch -p1 < ../binutils-2.18-14x1-20x1-20x2-20x3-22x4-42x-42x0-461x.patch patch -p1 < ../binutils-2.18-msp430x24x-msp430x26x.patch patch -p1 < ../binutils-ld_scripts.patch patch -p1 < ../binutils-2.18-430X.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-6.8.tar.bz2 wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/packaging/patches/msp430-gdb-6.8.patch wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/packaging/patches/msp430-gdb-6.8-fix.patch wget http://mspgcc.cvs.sourceforge.net/*checkout*/mspgcc/packaging/patches/gdb-6.8-430X.patch cd gdb-6.8 patch -p1 < ../msp430-gdb-6.8.patch patch -p1 < ../msp430-gdb-6.8-fix.patch patch -p1 < ../gdb-6.8-430X.patch ./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.
Ú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
A to je všetko.