Debian logo [embedded-µC.LINUX]

15. Documentations de référence

Cette section rassemble les références documentaires qui ont été utilisées pour construire ce support.

15.1. Système d'exploitation GNU/Linux

Linux - Base d'administration pour le superutilisateur, RUTE

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.

15.2. SDCC - Small Device C Compiler

SDCC Compiler User Guide

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.

15.3. Microcontrôleurs MSC12xx

MSC121x User's Guide, Guide de l'utilisateur MSC121x, sbau101a

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.

MSC12xx Programming with SDCC: An Open-Source Alternative, Programmation des composants MSC12xx avec SDCC, sbaa109a

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.

MSC1210 ROM Routines, Bibliothèque intégrée du MSC1210, sbaa085c

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.

MSC1210 EValuation Module

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.

15.4. Bus I²C

THE I²C-BUS SPECIFICATION

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.