Cette section rassemble les références documentaires qui ont été utilisées pour construire ce support.
Le livre Linux - Base d'administration pour le superutilisateur est une ressource essentielle pour l'apprentissage des manipulations de base sur un système d'exploitation GNU/Linux. Il présente de façon détaillée les commandes utilisables sur la console du Shell ainsi que les opérations de séquencement entre les programmes (pipes, redirections, etc.).
La version originale du livre est aussi disponible sous forme de paquet
Debian : rutebook. Une
fois le paquet installé, les pages HTML du livre sont
placées dans le répertoire /usr/share/doc/rutebook/html.
Le manuel SDCC Compiler User Guide est une ressource essentielle pour l'utilisation des outils de la chaîne de développement SDCC. Toutes les directives et les éléments de syntaxe y sont décrits en détails et mis à jour régulièrement.
Le document MSC121x User's Guide (Rev. A) regroupe les définitions des registres de fonctions spécifiques et des exemples de programmation des différents types de périphériques intégrés dans le microcontrôleur.
Le document MSC12xx Programming with SDCC a été publié en 2003 et révisé en 2006. Plusieurs remarques sont à faire sur l'utilisation du compilateur SDCC et les exemples proposés.
Il n'est plus nécessaire de compiler les outils SDCC manuellement à partir d'une distribution cygwin. Voir Section 13.3, « C sur MSC1210 : SDCC ».
L'exemple de programme «Hello, World!» s'appuie sur les bibliothèques livrées avec SDCC. Ce sont des bibliothèques génériques pour les microcontrôleurs de type 8051. En utilisant les sous-programmes fournis directement en ROM dans le composant, on optimise considérablement l'occupation mémoire et les temps d'exécution.
Toujours dans le même programme exemple, l'appel à la fonction
autobaud() effectue bien l'ajustement automatique du
débit de la liaison série entre le terminal du PC et
l'interface du MSC1210 mais l'appel suivant à la
fonction ser_init() impose un débit de 19200 bauds par
programmation du diviseur de fréquence. Il est donc préférable de s'appuyer
sur les fonctions intégrées du composant.
Les composants de la famille MSC1210 intègrent 2Ko de
ROM dans laquelle sont placés des sous-programmes de
pilotage du microcontrôleur. Le premier sous-programme utilisé dans ce
support : autobaud(); permet d'ajuster
automatiquement le débit de la liaison série entre la console du
PC de développement et le microcontrôleur. La
documentation sur ces sous-programmes est fournie par le constructeur
Texas Instruments™ :
MSC1210 ROM Routines (Rev. C).
Pour utiliser les fonctions de la bibliothèque intégrée au composant avec SDCC, il faut procéder à quelques adaptations.
Le fichier source d'adressage des sous-programmes
ROM.A51 proposé en annexe du document doit être
converti en un format compatible avec l'assembleur
asx8051 ; voir rom1210.asm.
Le code objet correspondant à ce nouveau fichier source, le fichier
rom1210.rel, est obtenu à l'aide de la commande :
asx8051 -losffgp rom1210.asm.
Ce code objet est ajouté à celui de l'application utilisateur lors de
la phase d'édition des liens (voir Section 4, « Cycle de développement »).
Avec l'exemple du premier programme hello.c, on
utilise la commande :
sdcc hello.rel rom1210.rel.
Le fichier d'en-tête contenant les prototypes des fonctions de la bibliothèque doit aussi être modifié ; voir rom1210.h.
Le module d'évaluation MSC1210EVM est une carte complète fournie par le constructeur dont les caractéristiques sont décrites à la page : Full EVM for use with the MSC1210.
La documentation THE I²C-BUS SPECIFICATION VERSION 2.1 JANUARY 2000 contient l'ensemble des définitions et
des contraintes de communication sur un bus I²C. Le code I²C proposé dans ce
document permet au microcontrôleur MSC1210 d'être le maître sur un bus I²C.
Cette réalisation logicielle doit respecter les contraintes de temps sur les
signaux de données (SDA) et d'horloge
(SCL) définies dans ces spécifications. Le code I²C
proposé est à vocation pédagogique. Dans le cas d'une exploitation
industrielle, il est préférable d'utiliser des composants spécialisés dans le
contrôle du bus I²C dont le matériel garantit le respect des spécifications
I²C.
Vous êtes ici :