www.pictec.org |
SDCC
le compilateur C open source |
Sdcc est un compilateur
C sous licence GPL. Il a été adapté pour pouvoir compiler
du C pour PIC.
Nous allons voir dans les pages qui suivent comment l'installer sous windows
ainsi que les outils indispensables pour le mettre en oeuvre.
Le but de ces pages est avant tout de pouvoir porter les applications du site
www.pictec.org et notamment PicoIP sous SDCC pour permettre une distribution
plus large de cette application sans pour autant que les utilisateurs ne disposent
d'un compilateur propriétaire comme CC5X.
Pour le mome,t, nous n'avons testé SDCC que pour le 18F458. Les essais
avec les PIC de la série 16F seront réalisés rapidement.
Installer
SDCC
Installer
GPUTILS
Modifier
le PATH de Windows
Créer
le fichier d'éxécution
Un
premier programme avec SDCC
Les
liens SDCC
Sdcc
est disponible sous la forme d'un éxécutable qui va installer
dans le dossier program files de windows un repertoire SDCC contenant l'ensemble
des fichiers et des bibliothéques. Ce compilateur étant disponible
pour de nombreuses cibles, certains dossiers ne seront utiles que si vous travaillez
aussi sur d'autres processeurs.
Ce paquetage peut être téléchargé à l'adresse
suivante: http://sdcc.sourceforge.net
Sdcc est maintenant installé sur votre ordinateur !!
Bien
que SDCC dispose d'options permettant de le rendre compatible avec MPASM et
MPLINK, les outils de Microchip, je ne suis pas arrivé à le faire
fonctionner avec ces outils. Il a été donc plus simple d'utiliser
GPASM et GPLINK qui sont des outils GPL disponibles sous windows.
GPUTILS est disponible
sous la forme d'un fichier compressé ZIP qui peut être téléchargé
à l'adresse suivante:
http://gputils.sourceforge.net
Le paquetage sera décompréssé dans un dossier à
la racine du disque C. Vous disposerez ensuite d'un dossier C:\gputils\ . Il
est important pour la suite de la mise en oeuvre de SDCC que les noms des dossiers
soient respectés.
MODIFIER LE PATH DE WINDOWS XP
Nous
allons maintenant modifier le path de windows pour que GPASM et GPLINK soient
accessibles. Pour cela dans le menu démarrer de windows XP, faites un clic droit sur 'Poste de travail' et cliquez sur 'propriétés'. Cliquez sur l'onglet 'Avancé', puis sur le bouton 'Variables d'environnement'. |
Cliquez ensuite sur modifier pour ajouter GPASM et GPLINK au PATH de windows. | |
Ajoutez
';C:\gputils\bin;' à la valeur de la variable PATH. |
Il
s'agit maintenant de créer un fichier .BAT pour compiler, assembler et
linker votre programme en langage C.
Pour cela, ouvrez votre éditeur de texte préféré
(le notepad de windows fera l'affaire) et recopiez les lignes suivantes:
sdcc -S -V
-mpic16 -p18F458 %1.c
gpasm.exe -Dpic18f458 -D__18f458 -c %1.asm -o %1.o
gplink.exe -I"c:\program files\sdcc\bin\lib\pic16" -s"c:\gputils\lkr\18f458.lkr"
-o %1 %1.o crt0i.o pic18f458.lib libsdcc.lib
Enregistrez dans un dossier 'projet sdcc' ces quelques lignes avec l'appellation suivante: g.bat
VOTRE PREMIER PROGRAMME AVEC SDCC
Nous allons maintenant écrire un premier programme avec SDCC pour générer un signal carré sur la broche RB7 d'un 18F458.
#define __18F458
#include <pic18F458.h>
#pragma stack 0x200 100
unsigned int i;
void main(void) {
TRISB = 0;
while(1) {
PORTBbits.RB7=1;
for (i=1;i<1000;i++);
PORTBbits.RB7=0;
for (i=1;i<1000;i++);
}
}
enregistrez le
programme dans le dossier 'projet SDCC' sous le nom 'test.c'.
Ouvrez une fenêtre inivite de commande MSDOS puis taper 'g test'.
Le programme sera compilé, assemblé puis linké.
Vous obtiendrez un fichier test.hex dans ce même dossier.
Voici le résultat:
Sdcc est depuis peu compatible avec les PIC. Il y a donc peu de sites qui lui sont consacrés.
Ou
télécharger les paquetages et la documentation:
http://sdcc.sourceforge.net
http://gputils.sourceforge.net
Comment installer
SDCC sous linux ou avec CYGWIN:
http://ubicomp.lancs.ac.uk/~martyn/sdcc_linux/
Quelques
exemples de codes pour le PIC:
http://sdccokr.dl9sec.de/news.htm