Systèmes embarqués - Outils et périphériques

Compilateurs et assembleurs

Compilateur

Un compilateur est un programme informatique (ou un ensemble de programmes) qui transforme le code source écrit dans un langage de programmation (le langage source) en un autre langage informatique (normalement au format binaire). La raison la plus courante de conversion est de créer un programme exécutable. Le nom «compilateur» est principalement utilisé pour les programmes qui traduisent le code source d'un langage de programmation de haut niveau vers un langage de bas niveau (par exemple, langage d'assemblage ou code machine).

Compilateur croisé

Si le programme compilé peut s'exécuter sur un ordinateur ayant un processeur ou un système d'exploitation différent de l'ordinateur sur lequel le compilateur a compilé le programme, alors ce compilateur est appelé compilateur croisé.

Décompilateur

Un programme capable de traduire un programme d'un langage de bas niveau vers un langage de haut niveau est appelé un décompilateur.

Convertisseur de langue

Un programme qui traduit des programmes écrits dans différentes langues de haut niveau est normalement appelé un traducteur de langue, un traducteur de source à source ou un convertisseur de langue.

Un compilateur est susceptible d'effectuer les opérations suivantes -

  • Preprocessing
  • Parsing
  • Analyse sémantique (traduction dirigée par la syntaxe)
  • Génération de code
  • Optimisation du code

Assembleurs

Un assembleur est un programme qui prend des instructions informatiques de base (appelées langage d'assemblage) et les convertit en un modèle de bits que le processeur de l'ordinateur peut utiliser pour effectuer ses opérations de base. Un assembleur crée du code objet en traduisant les mnémoniques des instructions d'assemblage en opcodes, résolvant les noms symboliques en emplacements mémoire. Le langage d'assemblage utilise un mnémonique pour représenter chaque opération de machine de bas niveau (opcode).

Outils de débogage dans un système intégré

Le débogage est un processus méthodique pour trouver et réduire le nombre de bogues dans un programme informatique ou un élément de matériel électronique, afin qu'il fonctionne comme prévu. Le débogage est difficile lorsque les sous-systèmes sont étroitement couplés, car un petit changement dans un sous-système peut créer des bogues dans un autre. Les outils de débogage utilisés dans les systèmes embarqués diffèrent considérablement en termes de temps de développement et de fonctionnalités de débogage. Nous allons discuter ici des outils de débogage suivants -

  • Simulators
  • Kits de démarrage microcontrôleur
  • Emulator

Simulateurs

Le code est testé pour le MCU / système en le simulant sur l'ordinateur hôte utilisé pour le développement du code. Les simulateurs tentent de modéliser le comportement du microcontrôleur complet dans un logiciel.

Fonctions des simulateurs

Un simulateur remplit les fonctions suivantes -

  • Définit le processeur ou la famille de périphériques de traitement ainsi que ses différentes versions pour le système cible.

  • Surveille les informations détaillées d'une partie de code source avec des étiquettes et des arguments symboliques au fur et à mesure que l'exécution se poursuit pour chaque étape.

  • Fournit l'état de la RAM et des ports simulés du système cible pour chaque exécution en une seule étape.

  • Surveille la réponse du système et détermine le débit.

  • Fournit une trace de la sortie du contenu du compteur de programme par rapport aux registres du processeur.

  • Fournit la signification détaillée de la présente commande.

  • Surveille les informations détaillées des commandes du simulateur lorsqu'elles sont saisies à partir du clavier ou sélectionnées dans le menu.

  • Prend en charge les conditions (jusqu'à 8 ou 16 ou 32 conditions) et les points d'arrêt inconditionnels.

  • Fournit des points d'arrêt et la trace qui sont ensemble l'outil de test et de débogage important.

  • Facilite la synchronisation des périphériques internes et des retards.

Kit de démarrage microcontrôleur

Un kit de démarrage de microcontrôleur se compose de -

  • Carte matérielle (carte d'évaluation)
  • Programmeur intégré au système
  • Certains outils logiciels comme le compilateur, l'assembleur, l'éditeur de liens, etc.
  • Parfois, un IDE et une version d'évaluation limitée à la taille du code d'un compilateur.

Un gros avantage de ces kits par rapport aux simulateurs est qu'ils fonctionnent en temps réel et permettent ainsi une vérification facile des fonctionnalités d'entrée / sortie. Les kits de démarrage, cependant, sont tout à fait suffisants et constituent l'option la moins chère pour développer de simples projets de microcontrôleurs.

Émulateurs

Un émulateur est un kit matériel ou un programme logiciel ou peut être les deux qui émule les fonctions d'un système informatique (l'invité) dans un autre système informatique (l'hôte), différent du premier, de sorte que le comportement émulé ressemble étroitement au comportement du système réel (l'invité).

L'émulation fait référence à la capacité d'un programme informatique dans un appareil électronique à émuler (imiter) un autre programme ou appareil. L'émulation se concentre sur la recréation d'un environnement informatique original. Les émulateurs ont la capacité de maintenir une connexion plus étroite à l'authenticité de l'objet numérique. Un émulateur aide l'utilisateur à travailler sur n'importe quel type d'application ou de système d'exploitation sur une plate-forme de la même manière que le logiciel s'exécute dans son environnement d'origine.

Périphériques dans les systèmes embarqués

Les systèmes embarqués communiquent avec le monde extérieur via leurs périphériques, par exemple en suivant & mins;

  • Interfaces de communication série (SCI) comme RS-232, RS-422, RS-485, etc.
  • Interface de communication série synchrone comme I2C, SPI, SSC et ESSI
  • Bus série universel (USB)
  • Cartes multimédias (cartes SD, Compact Flash, etc.)
  • Des réseaux comme Ethernet, LonWorks, etc.
  • Bus de terrain comme CAN-Bus, LIN-Bus, PROFIBUS, etc.
  • imers comme PLL (s), Capture / Compare et Time Processing Units.
  • E / S discrètes ou entrée / sortie à usage général (GPIO)
  • Analogique à numérique / numérique à analogique (ADC / DAC)
  • Débogage comme les ports JTAG, ISP, ICSP, BDM Port, BITP et DP9

Critères de choix du microcontrôleur

Lors du choix d'un microcontrôleur, assurez-vous qu'il répond à la tâche à accomplir et qu'il est rentable. Nous devons voir si un microcontrôleur 8 bits, 16 bits ou 32 bits peut mieux gérer les besoins informatiques d'une tâche. De plus, les points suivants doivent être gardés à l'esprit lors du choix d'un microcontrôleur -

  • Speed - Quelle est la vitesse la plus élevée que le microcontrôleur peut prendre en charge?

  • Packaging- Est-ce DIP à 40 broches (boîtier double en ligne) ou QFP (boîtier plat Quad)? Ceci est important en termes d'espace, d'assemblage et de prototypage du produit final.

  • Power Consumption - C'est un critère important pour les produits alimentés par batterie.

  • Amount of RAM and ROM sur la puce.

  • Count of I/O pins and Timers sur la puce.

  • Cost per Unit - Ceci est important en termes de coût final du produit dans lequel le microcontrôleur doit être utilisé.

De plus, assurez-vous que vous disposez d'outils tels que des compilateurs, des débogueurs et des assembleurs, disponibles avec le microcontrôleur. Le plus important de tous, vous devez acheter un microcontrôleur auprès d'une source fiable.