Note :
Il n'y a actuellement aucun avis de lecteur. La note est basée sur 6 votes.
Arduino and eForth
Pendant toutes ces années, j'ai cherché des plates-formes de microcontrôleurs sur lesquelles je pourrais enseigner la programmation en langage FORTH. J'ai conçu un cours de formation que j'ai appelé "Firmware Engineering Workshop" (atelier d'ingénierie des microprogrammes). Je pouvais former un ingénieur ouvert d'esprit à la programmation en FORTH en une semaine environ, avec une plate-forme raisonnablement performante, c'est-à-dire une carte d'évaluation de microcontrôleur avec un système d'exploitation FORTH chargé. Les bonnes plates-formes sont coûteuses et les plates-formes bon marché sont inadéquates. Ce que j'ai fait, c'est que j'ai pris n'importe quelle carte de microcontrôleur à portée de main et je l'ai utilisée. Cela n'a pas bien fonctionné parce que ce que j'enseignais ne pouvait pas être facilement reproduit par les gens à la maison. Les gens étaient frustrés de ne pas pouvoir reproduire les résultats de mes démonstrations. C'est alors que j'ai découvert la carte Arduino Uno. La carte d'évaluation de microcontrôleur dont j'ai besoin doit avoir un microcontrôleur aux capacités raisonnables. Un microcontrôleur 8 bits avec une horloge rapide est suffisant. Les microcontrôleurs 16 bits ou 32 bits sont bien sûr bien meilleurs. La carte doit avoir au moins 8 Ko de mémoire ROM et 1 Ko de mémoire RAM. Elle doit également disposer d'un port USART pour communiquer avec un émulateur de terminal sur un PC hôte. Tout autre dispositif d'E/S sera une cerise sur le gâteau. Plus il y en a, mieux c'est. L'Arduino Uno possède tous les composants que j'ai énumérés ci-dessus. Il est également peu coûteux, puisqu'il ne coûte que 29 dollars.
Il utilise l'ATmega328P, un microcontrôleur très intéressant qui dispose de 32 Ko de mémoire flash, suffisamment pour héberger un système d'exploitation FORTH, de 2 Ko de RAM et de nombreux dispositifs d'E/S permettant de créer des applications substantielles. L'Arduino Uno dispose également d'un port USB qui permet de se connecter à un PC et d'un dispositif USART dans l'ATmega328P. Cette interface série est nécessaire pour un système FORTH afin que vous puissiez exécuter et programmer l'ATmega328P de manière interactive à partir d'un émulateur de terminal sur le PC - étant donné que le système Forth complet se trouve sur la puce. L'Arduino Uno est une belle machine. Vous le connectez à votre PC via un câble USB et vous pouvez le programmer pour qu'il fasse beaucoup de choses intéressantes. Son microcontrôleur ATmega328P, cadencé à 16 MHz, est capable d'exécuter de nombreuses applications intéressantes. Le modèle d'une esquisse, qui est le logiciel de l'Arduino 0022, capture l'essence de la programmation de micrologiciels en coulant des applications utilisateur dans deux déclarations : setup() et loop(). Il élimine toutes les instructions syntaxiques requises par un programme C normal et n'expose que le cœur d'une application. Cependant, le logiciel Arduino vous isole de la nature complexe du microcontrôleur ATmega328P, de son jeu d'instructions et de ses périphériques d'entrée/sortie. Au lieu de cela, vous disposez d'une bibliothèque de routines utiles qui sont utilisées pour créer des applications. L'isolation vous aide initialement à programmer le microcontrôleur dans un langage de programmation de haut niveau de type C.
Cependant, comme il s'agit d'un microcontrôleur 8 bits, l'ATmega328P en langage C s'essoufflera lorsque l'application demandera des performances. À ce stade, il vous faudra descendre jusqu'au métal nu pour pousser l'ATmega328P à sa limite. Ensuite, vous devrez apprendre son jeu d'instructions et tous ses périphériques d'E/S, et peut-être le programmer en langage assembleur. La meilleure approche alternative est de programmer l'ATmega328P en langage FORTH. FORTH vous expose l'ATmega328P. Vous pouvez examiner de manière interactive sa mémoire RAM, sa mémoire flash et tous les périphériques d'E/S entourant le CPU. Vous pouvez ajouter progressivement de petits morceaux de code et les tester de manière exhaustive. Un environnement de programmation et de débogage interactif accélère considérablement le développement des programmes et en garantit la qualité. Depuis 1990, je promeus un modèle de langage FORTH simple appelé eForth. Ce modèle consiste en un noyau de 30 commandes FORTH primitives qui doivent être implémentées dans les instructions machine d'un microcontrôleur hôte, et 190 commandes FORTH composées construites à partir des commandes primitives et d'autres commandes composées. En isolant les commandes dépendantes de la machine des commandes indépendantes de la machine, le modèle eForth peut être facilement porté sur de nombreux microcontrôleurs différents. Ce modèle est porté sur l'ATmega328P, et le résultat est le système 328eForth.
© Book1 Group - tous droits réservés.
Le contenu de ce site ne peut être copié ou utilisé, en tout ou en partie, sans l'autorisation écrite du propriétaire.
Dernière modification: 2024.11.14 07:32 (GMT)