mar 14
Crear un binari de gcc capaç de compilar codi per als PIC de la família 16
Aquests dies en Cesc m'ha obligat a treballar, bé, a començar, a posar-me les piles en el tema de la robòtica. Primer vam compilar un programa en c i el vàrem compilar amb el sdcc. Per desgràcia primer vaig fer el codi en cpp i llavors al veure que no ho suportava el vaig pasar a c.
Tot i així no l'he pogut provar ja que la PIC de proves semblava estar tarada.
El cas és que demanant informació a ARDE sobre el tema dels compiladors existents, sobretot un capaç de suportar codi cpp, em van recomanar fer una ullada a Port de GCC a PIC16 i això vaig fer.Aquí l'autor ha escrit el codi necessari per a que puguem compilar els nostres programes en c per a PICs de la família 16 amb gcc. A la espera de provar algun experiment amb cpp, direm que només suporta c, doncs l'autor m'ha dit que manquen llibreries encara per a que això sigui possible.
Aquí explico el procés que he seguit per a compilar el gcc sense trepitjar-ne la versió que ja en tenia.
Primerament ens descarregarem i instalarem el gputils disponible a la nostra distribució. En gentoo:
emerge gputils
Un cop instal·lat gputils crearem una nova carpeta (suposaré que la carpeta està a Documents). A dintre hi descarregarem la versió de gcc 4.0.2 i la 1.0.0 de csl-pic-gcc i els descomprimirem:
mkdir gccpic cd gccpic wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.0.2/gcc-4.0.2.tar.bz2 wget https://forja.rediris.es/frs/download.php/324/csl-pic-gcc-16f877-1.0.0.tar.gz tar xfvj gcc-4.0.2.tar.bz2 tar xfvz csl-pic-gcc-16f877-1.0.0.tar.gz
Ara haurem de configurar el fitxer pic.h per a indicar-li correctament l'ubicació de les eines de gputils (si compilem el paquet 'oficial' en comptes del de la nostra distribució, aquest pas no fa falta).
vim gcc-4.0.2/gcc/config/pic/pic.h
On canviarem les línies
#define DEFAULT_ASSEMBLER "/usr/local/bin/gpasm" #define DEFAULT_LINKER "/usr/local/bin/gplink"
per
#define DEFAULT_ASSEMBLER "/usr/bin/gpasm" #define DEFAULT_LINKER "/usr/bin/gplink"
Ara crearem la carpeta on anirà la nostra versió de gcc:
mkdir pic-gcc cd pic-gcc
I executarem el configure i en compilarem el codi:
../gcc-4.0.2/configure -target=pic -enable-languages=c,c++ make
Ja tenim els binaris creats a la carpeta gcc, però ara volem que sigui més fàcil emprar-los, per això farem un parell d'enllaços simbòlics, com a root s'ha de fer (poso el meu directori de home com a exemple, s'ha de canviar a la ruta correcte al vostre sistema):
su (introduim la clau) cd /usr/bin ln -s /home/mad93/Documents/gccpic/pic-gcc/gcc/g++ picg++ ln -s /home/mad93/Documents/gccpic/pic-gcc/gcc/xgcc picgcc
I ja podrem compilar els nostres programes amb picgcc i picg++. Vull recordar que cpp encara no es pot emprar per certa mancança de llibreries, però ho deixo aquí així esperant que en un futur pròxim ja sigui possible.
