Le
JMBadge2008 est le support matériel d'une compétition
mondiale de conception logicielle intiée par Freescale. C'est aussi un kit complet de développement programmable par glisser-déposer grâce à une liaison USB. Il apparaît sur le PC comme un périphérique amovible. Il charge lui même son programme grâce à une amorce de chargement de programme (BootLoader). C'est aussi une interface matérielle humaine (HID): un programme de démonstration permet son utilisation comme souris. La suite logicielle CodeWarrior propose une aide experte de programmation objet de type Visual Basic. L'offre d'une suite logicielle spéciale bridée ou d'une version d'évaluation renouvelable rend l'ensemble particulièrement attractif pour l'étudiant et l'amateur. |
|
Composants principaux montés sur la carte:
|
Il existe plusieurs programmes de démonstration fournis avec le JMBadge2008 dont l'écriture d'un message défilant sur le badge. L'écriture du message se fait en choisissant la lettre à composer dans un alphabet défilant sur l'écran de LEDS. Nous avons pensé que ce badge de faible côut (30$) pouvait servir de système d'apprentissage du code Sixtem grâce à ses 8 touches capacitives. En effet le code sixtem nécessite 6 touches pour les symboles et 2 touches de fonction au minimum: espace et effacement. L'environnement de développement (IDE CodeWarrior) est riche et gratuit si on accepte une limitation du code et des compléments logiciels. La fonction "processor expert" est impressionnante et permet une programmation en C de type Visual Basic à condition de connaître les bases de la "programmation objet". La
présence d'un accéléromètre à 3 axes permet
d'envisager une utilisation intéressante: la composition des symboles Sixtem
dans l'espace comme avec une manette Wii. On peut toujours rêver... Nous rassemblerons ici les éléments nécessaires aux différentes phases du projet. C'est une façon de s'obliger à avoir un peu d'ordre... Nous avons commandé le JMBadge2008 directement chez Freescale après inscription sur le site. Que ce soit pour le badge ou pour les logiciels vous devrez montrer patte blanche aux services des douanes, sécurité oblige, in english please. Avec "code Sixtem implementation for disabled children" çà ne fait pas penser à une entreprise terroriste... Pour le badge: 30$+20$ de port. par UPS avec suivi par internet. Avant de recevoir la carte un petit coup d'oeil sur l'IDE CodeWarrior. Le passage du PIC 8 bits au micro 32 bit est un peu impressionnant même quand on a l'habitude de MPLAB. 995$ pour la version standard (pour avoir les "software beans"). Les haricots sont trop chers. Nous nous contenterons des "basics bean" de l'édition standard qui permet 64 K de programme pour le MCF51JM128 ColdFire Une petite surprise à
la livraison du colis par UPS: 23.55 Euros
de frais supplémentaires liés à la TVA et aux charges
additionnelles sur le dédouanement... ce qui fait 63 Euros pour
le JMBadge2008 livré à domicile... ce qui reste correct pour un
kit d'expérimentation. |
Essai de la carte sans USB en suivant les instructions du JM Badge Board User's manual.
4.1
Using the Badge | 4.1
Utilisation du Badge |
Mise en place de l'amorce de chargement de programme
4.3
Bootloader One of the major features of the JM Badge Board is that it includes a USB bootloader that allows simple "drag and drop" reprogramming. This section will describe how to use the bootloader. Please see the Errata document for important information about the s19 files that the bootloader can accept. 4.3.1 Obtaining the S19 file The bootloader accepts S19 files that it uses to program the board. In the example projects this file can be found in the <project directory>/bin/ folder and will end in a ".s19" file extension. This file will get overwritten every time the project is compiled. To create an S19 file, click on the "Standard Settings…" button on your project, and look for the Linker category. Select "ColdFire Linker" and make sure that the "Generate S-Record File" option is checked. Also make sure that the "Max S-Record Length" field is set to 32. The example projects on the Can Your Badge Do This? website are already set up to create an S19 file. Note that not just any S19 file will work correctly with the badge board. The software that produced the S19 file must follow certain guidelines outlined in Section 4.4. The S19 files provided on the Can Your Badge Do This? website will correctly download to the board and can be used to test out the bootloader. 4.3.2 Using the Bootloader With the badge turned off, plug the badge into a Windows computer. A message stating "Press E4 for bootloader" will scroll by. Press E4 before the end of that message, otherwise the USB Mouse demo will launch instead (see Section 4.2.2.1). The badge board will then enumerate as a Mass Storage Device. The far left column of the LED matrix will blink as it enumerates and will remain steady once it is connected.. Inside the newly added storage device, there will be an empty file named "READY.TXT". | 4.3
Amorce de chargement de programme Cette section décrira comment utiliser l'amorce de chargement. Veuillez voir le document Errata pour des informations importantes sur les fichiers s19 que l'amorce de chargement peut accepter. 4.3.1 Obtention du fichier S19 4.3.2 Utilisation de l'amorce de chargement | |
|
Copy and paste the S19 file into the enumerated drive. Upon successful programming, the left two columns on the badge will light up and the S19 file will appear on the removable drive. Unplug the badge board from the USB connection. The board has now been updated. If an error occurred, the left four columns on the badge will light up. The badge must be turned on and run off battery power at least once before using one of the USB applications. | Copier-Coller le fichier S19 dans le périphérique énuméré. Une fois la programmation réussie, les deux colonnes de gauche de la carte s'allumeront et le fichier S19 apparaîtra sur le périphérique amovible. Débrancher la prise USB du badge. La carte a été maintenant mise à jour. Si une erreur se produisait, les quatre colonnes de gauche sur la carte s'allumeraient. La carte doit être alimentée par la batterie et éteinte au moins une fois avant d'utiliser une des applications USB. | |
Passons
maintenant à l'installation de l'environnement de programmation (IDE) CodeWarrior™
Development Studio for
Microcontrollers Quick Start Pour
apprendre à manipuler l'environnement de travail un tutorial
est proposé dans l'IDE de Code Warrior:
Remettons en place le programme initial pour être
certains que le bootloader est toujours opérationel: Programmation
du JMBadge: Nous constatons aussi que ce programme a initialisé la matrice de LEDs et les touches du clavier. Une petite vérification: l'appui successif sur les touches sensitives 1 à 8 affiche une barre verticale correspondant à la touche appuyée: touche 1 --> allume la barre la plus à gauche, touche 2 --> allume la 2ème barre verticale et ainsi de suite... La gestion de l'affichage sur la matrice de LEDs est faite par la sous routine asm( ). Allons
voir comment le driver du MPR084 (qui gère la liaison
I2C avec ce boitier) réalise les fonctions
d'initialisation et de lecture du clavier Pour
l'implémentation du code Sixtem nous utiliserons le programme de démonstration
du JMBadge. On le trouve dans le dossier JM_Badge_Board. L'image
ci-dessous montre les premières modifications apportées au projet:
On remplace les fichiers d'origine par les fichiers modifiés Une petite révision de la manipulation des chaines de caractère en C s'impose* pour réaliser la fonction de trancodage des 2 appuis successifs sur les touches symboles. Nous utilisons Xcode sur mac qui est gratuit et founi sur la disquette système. Le siteduzero permet une mise à niveau rapide pour ceux qui viennent du Pascal, du Basic ou du Java plus riches en fonction de traitement des chaines de caractères. Le C oblige la révision de la notion de pointeurs, ce qui est une bonne chose pour les utilisateurs des microprocesseurs. Vous trouverez ici un petit programme commenté du transcodage à faire. J'ai
mis dans un dossier zippé tous les fichiers d'un mini
éditeur SIXTEM à enrichir de fonctions complémentaires.
Il permet l'édition d'un message alphabétique déroulant avec
les mêmes caractéristiques que l'éditeur proposé par
freescale. Il suffit de télécharger le fichier *.S19 sur le JMBadge.
A l'allumage, le message de bienvenue s'affiche. L'entrée dans l'éditeur
se fait par un "slide down left" c'est à dire un glissement du
doigt sur les touches de 1 à 4. Le message "symboles" s'affiche
et le programme attend la composition d'un caractère qui se fait par deux
appuis successifs sur les touches-symboles composant la forme de la lettre. Par
exemple: touche 5 puis touche 2 pour le a, touche 1 puis touche 6 pour le b etc... A suivre.... *"Talent without discipline is like an octopus on roller skates. There's plenty of movement, but you never know if it's going to be forward, backwards, or sideways." — H. Jackson Brown, Jr
| ||