développement et de débogage des outils pour microcontrôleurs mono-puce

Les principaux outils de débogage comprennent:

  • émulateurs en circuit.
  • simulateurs de logiciels.
  • Carte de développement (carte d'évaluation).
  • debug moniteur.
  • émulateurs ROM.

Cette liste ne couvre pas tous les types d'outils de débogage existants. En plus de cela, il y a également des dispositifs combinés et des kits qui permettent de compenser les insuffisances d'actifs immobilisés, pris séparément.

In-circuit émulateurs.

In-circuit émulateur - matériel logiciel, capable de remplacer le processeur émulé dans un circuit réel. In-circuit émulateur - il est outil de débogage le plus polyvalent et puissant.

En fait, le «bon» émulateur en circuit rend le fonctionnement du processus en cours de débogage contrôleur transparent, à savoir, facile à contrôler, de manière arbitraire contrôlable et modifiable par la volonté des développeurs.

Fonctionnellement les émulateurs de circuit de division pour l'accouplement avec l'ordinateur externe (qui se passe habituellement IBM PC), et fonctionnant de manière autonome. Stand-alone in-circuit émulateurs sont personnalisées des ressources de calcul, des moyens d'entrée-sortie, ne nécessitent pas pour son fonctionnement normal, les connexions à des ressources informatiques externes, mais pour cela, l'utilisateur doit payer un prix sensiblement plus élevé, ou réduit la fonctionnalité et capacités de service par rapport à la même modèles, amarré avec le PC IBM.

Habituellement, amarré émulateur en circuit à l'émulation de système cible est réalisée à l'aide d'un câble avec une tête d'émulation spéciale. tête de Emulation est inséré à la place du microcontrôleur dans le système en cours de débogage. Si le microcontrôleur ne peut être retiré du système cible, l'utilisation d'un émulateur est possible uniquement si le microcontrôleur dispose d'un mode de mise au point dans lequel toutes les broches sont trois états. Dans ce cas, pour connecter l'émulateur en utilisant un adaptateur spécial, un clip ceinture, qui est relié directement aux bornes du microcontrôleur émulé.

Au minimum, l'émulateur comprend les blocs fonctionnels suivants:

  • débogueur.
  • l'émulation de l'unité de microcontrôleur;
  • mémoire d'émulation;
  • breakpoints du sous-système;

modèles plus avancés peuvent comprendre en outre:

  • breakpoints processeur;
  • traceur;
  • profileur (code de l'analyseur d'efficacité);
  • une horloge temps réel;
  • logiciel et matériel, offrant la possibilité de lire et modifier les ressources du processeur émulé "à la volée", c.-à- lors de l'exécution du programme utilisateur en temps réel;
  • logiciel et matériel, fournissant un contrôle synchrone nécessaire pour l'émulation dans les systèmes multiprocesseurs;
  • un environnement de développement intégré

débogueur

Le débogueur est un pont entre le développeur et l'outil de débogage. La composition et la quantité d'informations en passant par les moyens d'entrée-sortie, sa disponibilité pour la détection, la surveillance, et le cas échéant, de rectification et de modification - dépendent directement des propriétés et la qualité du débogueur.

Un bon débogueur vous permet de:

  • télécharger le programme en cours de débogage dans le système de mémoire.
  • Sortie d'état du moniteur et le contenu de tous les registres et la mémoire, et le cas échéant, leur modification.
  • processus d'émulation de contrôle.

débogueurs Plus puissants, communément appelé haut niveau (High-Level débogueurs), en plus de cela, vous pouvez:

  • effectuer le débogage symbolique, le débogueur en raison du fait que "sait" les adresses de toutes les variables symboliques, des tableaux et des structures (par l'utilisation d'informations spécifiques fournies par le compilateur). L'utilisateur peut fonctionner plus acceptable pour les noms des personnages humains, pas la peine de se souvenir de leurs adresses.
  • surveiller et d'analyser non seulement le texte démonter, mais aussi le code source écrit en langage de haut niveau, et même avec leurs propres commentaires.

Ce débogueur permet à l'utilisateur de surveiller simultanément les progrès du programme et de voir la correspondance entre le texte source, l'image du programme en code machine, et l'état des ressources du microcontrôleur émulés.

Il convient de noter qu'un débogueur de haut niveau fournit toutes ses fonctions que dans le cas si vous utilisez un compilateur croisé fournit une information complète et correcte debug (pas tous les compilateurs, en particulier leurs versions piratées, fournir de telles informations) et en même temps de son format de présentation devrait être " avec "débogueur.

Mémoire d'émulation

La mémoire d'émulation de disponibilité permet son utilisation dans le processus de mise au point au lieu de la mémoire ROM dans le système cible, et de plus, sans utiliser le programme de mise au point ou une mise en page du système réel. Si nécessaire, apporter des modifications au programme en cours de débogage, il suffit de charger un programme nouveau ou modifié dans la mémoire de l'émulateur, plutôt que de traiter avec la reprogrammation de la ROM. Il existe des modèles d'émulateurs qui permettent à l'utilisateur de «substitut» à la place mémoire d'émulation de ROM est non seulement dans son intégralité, mais aussi dans des blocs (dans certains modèles, la taille minimale de bloc peut être jusqu'à un octet), dans l'ordre défini par l'utilisateur. Pour ce faire, l'utilisateur n'a qu'à définir les données d'allocation de mémoire et la mémoire du programme, conformément à laquelle le processeur aura accès au contenu et de la ROM dans le système cible, et le contenu de l'émulation de la mémoire circuit émulateur. Cette mémoire est généralement appelée mémoire avec la cartographie.

traceur

En fait, le routeur est un analyseur logique qui fonctionne de façon synchrone avec le processeur et le fil de verrouillage exécute des instructions et l'état des signaux extérieurs sélectionnés. Il existe des modèles de émulateurs circuit qui vous permettent de tracer non seulement des signaux, mais aussi l'état des ressources internes du microcontrôleur, comme les registres. Ces émulateurs utilisent une version spéciale des microcontrôleurs (cristaux d'émulation).

breakpoints Processeur

Le processeur permet des points d'arrêt pour arrêter l'exécution du programme, ou d'effectuer d'autres actions, telles que le démarrage ou l'arrêt du routeur, lorsque les conditions définies par l'utilisateur. Contrairement aux points d'arrêt du mécanisme classique, des points d'arrêt de traitement vous permet de créer et de surveiller l'état de presque tous les degrés de complexité, et donc émulé le processus ne dérive pas de temps réel.

Shaper

Profiler (sinon l'efficacité du analyseur de code), vous permet d'obtenir les résultats du programme en cours de débogage exécute les informations suivantes:

  • nombre de visites dans les différentes parties du programme;
  • le temps passé dans les différentes parties du programme.

L'analyse des informations statistiques fournies par le profileur, il est facile de détecter les zones de programme «morts» ou de surtension, et par conséquent d'optimiser la structure du programme en cours de débogage.

Environnement de développement intégré

La collection d'outils logiciels qui prend en charge toutes les phases de développement de logiciels d'écrire le code source du programme à sa compilation et le débogage, et permet une interaction rapide et facile avec d'autres outils (débogueur de logiciel et programmeur-simulyatorm).

La présence dans le système éditeur intégré, gestionnaire et de contrôle intégré dans le projet de programme shell émulateur, peut faciliter considérablement le travail du développeur, le libérant de nombreuses activités de routine. Pour un développeur brouillant la ligne entre l'écriture du programme, son édition et de débogage. La transition de l'édition du code source pour déboguer et vice versa est "transparent" et en synchronisation avec l'activation des fenêtres respectives, gestionnaire de projet démarre automatiquement la compilation nécessaire et active la fenêtre d'interface de programme correspondant.

Tout aussi simple, est effectuée et la transition vers déboguer un projet en utilisant le simulateur de débogueur existant, ou pour commencer "clignotant" programme de ROM établi.

Certains modèles de émulateurs connectés peuvent fournir aux utilisateurs et autres fonctionnalités avancées. Parmi eux, nous mentionnons un, bien que très spécifique, mais dans certains cas, sont d'une importance fondamentale: la possibilité de construire mnogoemulyatornyh complexes nécessaires pour le débogage des systèmes multiprocesseurs. Un trait distinctif de ce complexe est la possibilité de contrôle simultané (avec un ordinateur) plusieurs émulateurs.

En général, les différents modèles de émulateurs connectés peuvent fournir à l'utilisateur la possibilité de contrôler et de gérer le fonctionnement des dispositifs de débogage, avec toutes sortes de restrictions. Par exemple, il peut être incorrect la manipulation d'une étape par étape, ou l'interdiction de l'utilisation du port série, etc .. interruption Il est également nécessaire de se rappeler que chaque modèle réel émulateur a son propre ensemble de compilateurs pris en charge. Certains fabricants de cabinets d'émulateurs essayent délibérément de limiter le nombre de compilateurs pris en charge, tout d'abord il est typique pour les producteurs occidentaux. Dans ces cas, l'émulateur peut être utilisé seul format de caractère.

Caractéristiques du "vrai" émulateur en circuit seront illustrées par l'exemple de modèle PICE-51.

PICE-51

In-circuit émulateur est une famille de microcontrôleurs 8 bits 8051

PICE-51 - un nouveau simulateur de génération, créé avec l'utilisation de nouvelles technologies de développement de matériel et de logiciel.

L'utilisation de programmables matrices de grande capacité a permis de réduire la taille de l'émulateur sans aucun dommage à sa fonctionnalité, minimiser l'écart des caractéristiques électriques et la fréquence des caractéristiques de traitement de l' émulateur émulés et, ainsi, maximiser la précision de l' émulation à des fréquences allant jusqu'à 30 MHz avec des tensions d'alimentation de 3,3V jusqu'à 5 volts.

Recharge la structure matérielle de l'émulateur fournit une émulation de la quasi - totalité de 8051 famille de microcontrôleurs que la production nationale, et les entreprises: Intel, Philips, Siemens, Atmel , Dallas, Temic, OKI, AMD, MHS et autres.

interface logicielle puissante parmi Windowsv, est un environnement de développement intégré qui prend en charge toutes les phases de développement de logiciels d'écrire le code source du programme à sa compilation et le débogage. programme de soutien Emulator vise à déboguer des programmes dans la langue de code source de haut niveau.

L'émulateur se compose d'un principal 80h76mm de la taille du conseil, la tête d'émulation adaptateur processeur spécifique et variable interchangeable pour un type particulier de logements. Sur la carte principale mise en œuvre: breakpoints processeur du routeur. Le prix comprend un adaptateur amovible émule le processeur pour un type particulier de microcontrôleur. têtes d'émulation permettent une installation de l'émulateur dans les plaquettes de DIP et PLCC sur la carte de l'utilisateur. Puissance émulateur est fourni par l'alimentation de + 5V, 0.5A ou déboguer directement depuis l'appareil. La communication avec l'ordinateur - sur le canal sont isolées galvaniquement RS-232C à une vitesse de 115 KBaud ..

CARACTERISTIQUES DU MATERIEL

  • émulation précise - l'absence de restrictions sur l'utilisation du programme utilisateur les ressources du microcontrôleur.
  • Jusqu'à 256K mémoire de programme et les données émulé. Soutien modèle de mémoire bankirovannoy. L'allocation de mémoire entre l'émulateur et le dispositif d'utilisateur avec une précision de jusqu'à 1 octet.
  • Jusqu'à 512K points d'arrêt matériels sur l'accès à la mémoire de programme et les données.
  • Le support matériel pour les programmes de mise au point dans les langages de haut niveau.
  • Trace Les 8 signaux externes.
  • 4 sorties de synchronisation équipement d'utilisateur.
  • En temps réel la capacité tampon traceur de 16K à 64K frame accès 64 bits "à la volée". Adresse de la Trace, des données, des signaux de commande, et l'horloge 8 signaux d'utilisateurs externes en temps réel.
  • filtre trace programmable.
  • Hardware processeur avec des points d'arrêt la possibilité de spécifier condition complexe en arrêtant des combinaisons d'émulation de signaux d'adresse, de données, de contrôle, 8 signaux externes, horloge temps réel, compteurs d'événements, et le retard de la minuterie.
  • Quatre points d'arrêt complexes qui peuvent être utilisés indépendamment ou en combinaisons selon ET / OU / conditions IF-THEN.
  • timer 48 bits en temps réel.
  • émulation Transparent - l'accès "à la volée" à la mémoire émulée, les points d'arrêt, CPU breakpoint, le temps réel horloge de mémoire tampon de trace.
  • horloge contrôlée pour le processeur émulé. La possibilité de changer facilement la fréquence d'horloge de 500 kHz à 40 MHz.
  • Isolement galvanique RS-232C canal de communication de l'ordinateur avec le taux de 115 KBaud de change.
  • Intégré dans le matériel d'auto-test émulateur.

Caractéristiques du logiciel

  • Le logiciel est destiné à l'emploi Windowsv environnement sur les ordinateurs IBM-somestimyh avec des processeurs de type 386/486 / Pentium;
  • Built-in éditeur multi-fenêtres pour écrire des programmes source. L'éditeur prend en charge les opérations avec des blocs de texte, recherche / remplacement, la couleur mettant en évidence la syntaxe du langage assembleur et C;
  • chef de projet intégré permet la compilation automatique de programmes. Toutes les options sont définies sous forme de dialogue. La transition à partir du code source d'édition pour déboguer et vice versa est "transparent", à savoir Chef de projet démarre automatiquement la compilation du projet, le cas échéant;
  • PICE-51 fournit le débogage symbolique et débogage sur le code source pour les programmes créés avec les compilateurs suivants:
    • assembleur société ASM51 Intel;
    • MCA-51 firme d'assemblage Fitton / microcosme;
    • compilateur PL / M société Intel;
    • assembleur et compilateur société IAR Systems C;
    • assembleur et compilateur société Avocet Systems Inc./HiTech C;
    • assembleur et compilateur société C Keil Software Inc. ;
  • Enregistrer automatiquement et charger les options des fichiers de configuration du matériel, l'interface et de débogage. Assure la compatibilité des fichiers de configuration avec le simulateur PDS-51. Assurer la portabilité des projets entre l'émulateur PICE-51 simulateur et PDS-51;
  • Possibilité de personnaliser les couleurs, les polices, et d'autres paramètres pour toutes les fenêtres en même temps pour chaque fenêtre individuellement;

L'émulateur est fourni avec un manuel imprimé d'instruction et le contexte manuel électronique dans lequel ses principes de fonctionnement sont décrits en détail, l'équipe, les raccourcis du menu.

Schéma de l'émulateur PICE-51

COMPOSANTS émulateur PICE-51

Le microcontrôleur émulé Émulation mémoire de programme interne Contenu de l'emballage
carte principale Adaptateur de rechange tête d'émulation
Intel: 80C31 / 32, 80C51 / 52, 80L / C51FA, 80C51RA;
Philips: 80S31 / 32, 80C51 / 52, 80C51FA; 80C51RA + 80CL410, 80C524 / 528/550/652/654/575/576/851;
Atmel: 89C51, 89C52, 89C55, 89S8252, 89S53;
Siemens: SAB501 / 502/504/505/511/513;
MHS: 80C31, 80C51, 80C32, 80C52, 80C154;
Oki: 80C31, 80C51, 80C154;
AMD: 80C31, 80C51, 80C52;
aucun PICE-51 POD-51-31 ADP-51-DIP40 ou ADP-51-LCC44
Intel: 80C31 / 32, 8XS51 / 52/54/58, 8XL / C51FA / FB / FC , 8XC51RA / RB / RC;
Philips: 80S31 / 32, 8XC51 / 52/54/58, 8XC51FA / FB / FC; 8XC51RA + / RB + / RC + / RD +, 8XC524 / 528/550/652/654/575/576/851; 89C535 / 536/538;
Atmel: 89C51, 89C52, 89C55; Siemens SAB501;
MHS: 80C31, 8XC51, 80C32, 8XC52, 8XC154;
Oki: 80C31, 8XC51, 8XC154; AMD: 80C31, 8XC51, 8XC52;
64K PICE-51 POD-51-RX ADP-51-DIP40 ou ADP-51-LCC44
Atmel: 89C4051, 89C2051, 89C1051; 4K PICE-51 POD-51-31 ou POD-51-RX ADP-51-2051
Philips: 80C451, 80C453; 87C451, 87C453 64K PICE-51 POD-51-453 ADP-51-LCC68
Philips: 80C552, 80C562; 80C554
Philips: 80C552, 80C562; 80C554, 87C552, 87C562, 87C554
aucun
64K
PICE-51
PICE-51
POD-51-552
POD-51-554
ADP-51-LCC68
ADP-51-LCC68
Intel: 80C51GB aucun PICE-51 POD-51-GB ADP-51-LCC68
Dallas: DS80C310, DS80C320, DS8XC520 64K PICE-51 POD-51-DS530 ADP-51-DIP40 ou ADP-51-LCC44
Dallas: DS8XC530 64K PICE-51 POD-51-DS530 ADP-51-DS530

Caractéristiques comparées de certains des émulateurs pour la famille de microcontrôleurs 8051

Modèle Fournisseur EMUL-51 Nohau Corporation USP-51 Systèmes Signum IceMaster-8051 MetaLink PICE-5 Fiton1
microcontrôleurs émulés 8051 Toutes les espèces connues Toutes les principales variétés Toutes les principales variétés Toutes les principales variétés
La fréquence maximale de l'émulation 42 MHz 40 MHz 24 MHz 33 MHz
La quantité maximale de mémoire émulée 320K 256K 128K 512K
Caractéristiques réallocation entre l'émulateur et le périphérique de l'utilisateur Blocs pour 4K Les blocs de 256 octets Les blocs de 16 octets Jusqu'au 1er octet
tampon de trace Jusqu'à 16K par 48 trames de bits Jusqu'à 32K par 80 trames de bits Jusqu'à 4K cadres pour 48 bits Jusqu'à 64K images 64 bits
Accès "à la volée" à la mémoire émulée et le traceur oui oui oui oui
Interface PC fente de carte ISA RS-232C, 115 Kbaude RS-232C, 115 Kbaude Isolé RS-232C, jusqu'à 115 Kbaude
Conception et dimensions Deux cartes au format ISA, Câbles 2 mètres, Pody Le boîtier 260x260x64 mm, câble, POD Le boîtier 178x140x25 mm, câble, POD Tout émulateur - dans l'émulation taille de la tête 80x76x50 mm
Le prix pour une configuration d'alimentation comparable: Support 80C51 25 MHz, 128K RAM, la mémoire tampon de trace taille 16K freymovm 5200 $ (Nohau liste de prix) 5300 $ (Signum liste de prix) 4000 $ (MetaLink liste de prix) 990 $

Plus d'informations, ainsi que d'une version de démonstration de l'émulateur est représenté sur Site Web: http://www.phyton.ru

Bien sûr, un large éventail de fonctionnalités rend émulateurs circuit outil de débogage plus puissant et polyvalent.

simulations

Simulator - un outil logiciel qui permet de simuler le microcontrôleur et sa mémoire. En règle générale, le simulateur contient dans sa composition:

  • débogueur;
  • modèle du CPU et de la mémoire.

simulateurs les plus avancés contiennent dans la structure d'un modèle pour les périphériques intégrés, tels que des minuteries, des ports, ADC, et le système d'interruption.

Le simulateur doit être en mesure de télécharger les fichiers du programme dans tous les formats populaires, aussi complètement que possible d'afficher des informations sur l'état des ressources du microcontrôleur simulées, ainsi que des possibilités pour exécuter les programmes de simulation chargés dans différents modes. Dans le processus de modèle programme «exécute» le débogage et sur l'écran de l'ordinateur affiche l'état actuel du modèle.

En téléchargeant le logiciel dans le simulateur, l'utilisateur a la possibilité de l'exécuter à l'étape par étape, ou en mode continu, réglez le breakpoints conditionnel ou inconditionnel, de contrôle et de modifier librement le contenu des cellules de mémoire et les registres CPU simulés. Avec l'aide d'un simulateur, vous pouvez vérifier rapidement la logique du programme, la bonne exécution des opérations arithmétiques.

En fonction de la classe utilisée le débogueur, différentes simulations peuvent soutenir les programmes de débogage symboliques de haut niveau.

Certains modèles de simulation peut contenir un certain nombre de logiciels supplémentaires, comme par exemple: l'interface de l'environnement externe, intégré IDE.

Dans le système de microcontrôleur réel généralement impliqué la lecture des informations à partir des périphériques connectés externes (capteurs), le traitement de ces informations et les actions de contrôle sur les actionneurs. Le simulateur ne possède pas l'interface de l'environnement extérieur afin de simuler le fonctionnement du capteur, il faut modifier manuellement l'état actuel du modèle de dispositif périphérique qui, dans un système réel, le capteur est relié. Si, par exemple, lors de la réception par l'intermédiaire de l'octet de port série arma certaine boîte, et l'octet tombe dans un certain registre, ces deux actions doit être fait manuellement dans un simulateur. La présence de l'interface de l'environnement externe permet à l'utilisateur de créer et utiliser un modèle flexible de l'environnement du microcontrôleur, fonctionnent et interagissent avec le programme en cours de débogage par un algorithme donné. Caractéristiques du "réel" débogueur, simulateur illustrent un modèle exemple PDS-PIC.

PDS-PIC

Simulator débogueur pour le développement et le débogage des programmes sur la base de PIC16 / PIC17 microcontrôleur.

PDS-PIC - un outil pratique et flexible pour l'écriture de programmes et de débogage pour les microcontrôleurs Microchip cabinet PICmicro.

Le simulateur a:

  • Built-in éditeur multi-fenêtres pour écrire des programmes source. L'éditeur prend en charge les opérations avec des blocs de texte, rechercher / remplacer, couleur soulignant la syntaxe du langage d'assemblage;
  • chef de projet intégré, qui prend en charge la compilation automatique des programmes écrits pour la macro entreprise assembleur PASM-PIC Phyton macro MPASM assembleur pour la société Microchip.
  • Toutes les options d'assembleur sont spécifiés comme des boîtes de dialogue conviviales. La transition à partir du code source d'édition pour déboguer et vice versa est "transparent", à savoir Project Manager lance automatiquement l'assembleur si nécessaire;
  • De nombreuses possibilités pour les programmes de mise au point: suivi de la mise en œuvre du programme dans son texte original, afficher et modifier les valeurs de toutes les variables, intégrées analyseur efficacité du code, le point d'arrêt sur une condition et l'accès aux cellules de mémoire, voir les routines d'appel de la pile, construit en assembleur, un décompte précis des intervalles de temps et plus;
  • La possibilité d'effectuer "inverse" le grand nombre d'étapes de programme, ainsi que dans le mode continu. Dans cette condition, le modèle de microcontrôleur, entièrement restauré;
  • Le modèle exact du comportement des microcontrôleurs. Il simule le fonctionnement de tous les périphériques intégrés microcontrôleurs:. Minuteries, système ADC d'interruption, les ports, etc;
  • Modélisation avancée "l'environnement" des moyens, à savoir, les dispositifs connectés au microcontrôleur. Vous pouvez facilement régler divers signaux externes périodiques et non périodiques aux jambes de microcontrôleur pour simuler le travail de la logique externe. Avec le haut-écran graphique peut afficher graphiquement une variété d'indicateurs, de construire des horaires, simuler le clavier;
  • fenêtre de configuration du système et enregistrer les paramètres. Vous pouvez sauvegarder et restaurer un nombre illimité de fichiers de configuration;
  • Possibilité de personnaliser les couleurs et les polices, et d'autres paramètres pour toutes les fenêtres en même temps pour chaque fenêtre individuellement;
  • Contextuelle système d'aide. De toute boîte de menu ou de dialogue, vous pouvez obtenir des informations relatives à ce menu, une fenêtre ou un dialogue;
  • PDS-PIC fonctionne à moyen Windowsv.

Pour plus de détails caractéristiques du simulateur sont présentés au tableau compilé par les résultats d'une analyse comparative des deux simulateurs: MPlabSIM s Microchip et PDS-PIC - société Fitton. Les principales caractéristiques et les différences MPlabSIM et PDS-PIC en raison du fait que , dans leur conception des interfaces et des environnements de simulation utilisateur conceptuellement différents ont été utilisés.

MPlabSIM PDS-PIC
gestion *
souris
système de menu
"Hotkeys"
grâce à un modèle de l'environnement
oui
oui
oui
aucun
oui
oui
oui
oui
Breakpoints
l'adresse de code exécutable
le contenu du registre
lorsque la valeur de l'expression
lorsque la condition logique
oui
oui
aucun
aucun
oui
oui
oui
oui
événements simulés
synchrone
asynchrone
permis de séjour temporaire
oui
aucun
cycle de 4 équipes
oui
oui
1 cycle d'instruction
CPU
remettre
Interrompre
timer0
Timer1
Timer2
CCP1
CCP2
PWM1 / 2
PSP
SSP
I2C
SCI (USART)
EEPROM
ADC
comparateurs
Vref
oscillateur RC
module ADC
sans plus tarder
pleinement
seulement synchroniquement
seulement synchroniquement
pleinement
pleinement
pleinement
haute résolution sans
seulement synchroniquement
pleinement
seuls registres
temporisation
sans ordonnance de protection
Seulement retard et registres
seuls registres
seuls registres
dchastota constante
retard seulement
pleinement
pleinement
synchrone / asynchrone
synchrone / asynchrone
pleinement
pleinement
pleinement
pleinement
synchrone / asynchrone
Seuls les registres et interrompre les drapeaux
seuls registres
seuls registres
pleinement
pleinement
pleinement
pleinement
la fréquence est réglée indépendamment de la fréquence d'horloge
Enregistre pour les entrées analogiques
Simulation d'influences extérieures
Consigne à l'entrée du port d'E / S
entrée directe dans le registre
effets cycliques
exposition asynchrone
Description (effets de la tâche) de l'environnement algorithmiquement
les signaux analogiques externes
Seulement synchroniquement (par cycle de commande numérique)
oui
oui
l'interface entre l'entrée et le bouton correspondant dans la boîte de dialogue
aucun
aucun
synchrone / asynchrone
oui
oui
oui
oui
oui
Caractéristiques supplémentaires
l'exécution du programme de retour (backtrace)
Analyzer efficacité du code de programme (profileur)
l'affichage graphique des processus
vitesse **
aucun

aucun


aucun

400 commandes / seconde
oui

oui


oui

100.000 commandes / s

* MPlabSIM utilise le menu comme un add-on minuscule contrôle du processus d'entrée des commandes pour stocker la simulation et la mise en œuvre de séquences linéaires de commandes. Par exemple, pour modifier le contenu de la nécessité de registre pour effectuer les opérations suivantes:

- Sélectionner le point de menu "WINDOWS" - sélectionnez l'option de sous-menu "MODIFY" - choisissez "quoi" (dans ce cas, la "DATA") vont (PILE, DATA ou CODE) pour changer - entrez l'adresse - entrer une nouvelle valeur - confirmer Cette dans la drisse de registre de fenêtre décharge, vous verrez le résultat des changements, mais la fenêtre ne sera pas en mesure de changer quoi que ce soit (seulement par le menu - analogique de la ligne de commande).

Utilisation du PDS-PIC, de modifier la valeur ragistra en appuyant sur deux touches. Tout simplement peut effectuer toutes les autres actions de la mise au point du programme.

** Sur un exemple du pack MPLAB-SIM pour PIC16C54, lors de l'exécution sur une configuration MICROCHIP P90 / 16RAM recommandé.

Une caractéristique évidente du logiciel de simulation réside dans le fait que l'exécution des programmes chargés dans le simulateur a lieu sur une échelle de temps qui est différente de la réalité. Cependant, le prix bas, la possibilité de faire le débogage, même en l'absence d'une mise au point de l'appareil de mise en page, les simulateurs de logiciels font un outil de débogage très efficace. Par ailleurs, il faut souligner qu'il existe toute une classe d'erreurs qui peuvent être détectées qu'au moyen d'un simulateur.

debug Monitor

Debug Monitor - un programme spécial pour être chargé dans la mémoire système de débogage. Il oblige l'utilisateur à faire un processeur autre qu'un problème d'application, et même les fonctions de débogage:

  • télécharger la mémoire utilisateur libre des codes d'application du moniteur
  • breakpoints de réglage
  • démarrer et arrêter le programme chargé en temps réel
  • l'utilisateur étape par étape, l'exécution du programme
  • afficher, modifier le contenu de la mémoire et de contrôle des registres.

programme moniteur doit nécessairement fonctionner conjointement avec un ordinateur externe ou à un terminal passif, sur lequel se trouve la visualisation et la gestion du processus de débogage. Encore une fois, les moniteurs de débogage utilisent le processeur qui est déjà sur le conseil d'administration de l'utilisateur. L'avantage de cette approche est très faible coût, tout en maintenant la possibilité d'effectuer le débogage en temps réel. Le principal inconvénient est le détournement des ressources à déboguer microcontrôleur et des procédures connexes, tels que le moniteur prend un peu de mémoire, les interruptions, canal série. La quantité de ressources détournées dépend du développeur moniteur d'art. Récemment, il y avait des articles qui pratiquement ne prennent pas des ressources matérielles de la CPU, ils seront discutés ci-dessous dans la section "Emulator ROM".

Cartes de développement

Les conseils de ou comme il est accepté de les appeler dans la littérature étrangère - carte d'évaluation (cartes d'évaluation), sont les concepteurs originaux pour les systèmes d'application de prototypage. Au cours des dernières années, avec la sortie d'un nouveau modèle du fabricant de cristal de microcontrôleur et nécessairement produit un frais de développement correspondants. Habituellement, il est une carte de circuit imprimé avec le microcontrôleur monté sur lui, ainsi que tous les standards nécessaires lui cerclage. Sur cette carte de circuit et établir la communication avec un ordinateur externe. En règle générale, il est disponible un champ libre pour les systèmes d'installation de l'application utilisateur. Parfois, il y a déjà câblage prêt pour l'installation de dispositifs supplémentaires recommandées par la société. Par exemple, ROM, RAM, écran LCD, clavier, ADC et d'autres. Outre l'enseignement ou à des fins de prototypage, tel que modifié par les frais d'utilisation était rentable (gain de temps) à utiliser comme une carte unique des contrôleurs, intégrés dans la production de petits lots (5..20 pc. ).

Pour plus de commodité, le conseil de développement est également équipé simple outil de débogage basé sur le moniteur de débogage. Cependant, il est apparu deux approches différentes: l'une est utilisée pour les microcontrôleurs avec bus externe, et le second - pour les microcontrôleurs qui ne disposent pas de bus externe.

Dans le premier cas, le moniteur de débogage est alimenté par une puce ROM, qui est insérée dans une prise spéciale sur la carte de développement. Le conseil a aussi une mémoire pour les programmes utilisateur et un canal de communication à un ordinateur ou un terminal externe. Un exemple de ceci est le développement de la carte du microcontrôleur Intel 8051.

Dans le second cas du conseil d'administration a ROM interne circuit intégré programmation de microcontrôleurs, qui sont commandés par un ordinateur externe. Dans ce cas, un programme de contrôle est stocké dans la mémoire morte du microcontrôleur, en même temps que le code d'application de l'utilisateur. L'application dans ce cas particulier à préparer: au bon endroit qu'il appelle insertion moniteur de débogage des routines. Ensuite, un essai exécuté. Pour apporter une correction à l'utilisateur du programme doit effacer la ROM et réenregistrer. Le programme d'application finie est obtenue à partir simplifiée en supprimant tous les appels et les fonctions de surveillance du moniteur de débogage. Les exemples incluent le développement de la société Microchip conseil pour ses contrôleurs PIC. Le même principe et les conseils pour les microcontrôleurs de débogage Philips 80S750 ou 89C2051 Atmel.

Il est important, plus le moniteur, parfois conseil d'encore terminé et déboguer des programmes qui fonctionnent sur un PC externe en liaison avec le moniteur. Ce programme a été particulièrement compliquée et ont souvent un ensemble très professionnel de fonctions telles que la simulation débogueur, ou différents éléments inhérents à IDE pur débogage. La composition fournie kits peuvent venir et appliquer la nature du programme, les plus couramment rencontrées dans la pratique.

Capacités de débogage fournis par un ensemble de «frais de développement ainsi que le moniteur" certainement pas aussi polyvalent que possible émulateur en circuit, et une partie des ressources du microprocesseur dans le processus de débogage est sélectionné pour le moniteur. Néanmoins, la disponibilité d'un ensemble complet de logiciels et de matériel prêt à l'emploi, ce qui permet sans perte de temps pour démarrer l'installation et de mise au point du système d'application, dans de nombreux cas, est le facteur décisif. Surtout quand on considère que le coût d'un tel ensemble est un peu moins que le coût d'un émulateur universel.

émulateurs ROM.

ROM Emulator - logiciels et le matériel permet, remplacer la ROM sur la carte cible, et l'étendre à la mémoire, dans lequel le programme à partir d'un ordinateur via l'un des canaux de communication standard peut être chargé. Ce dispositif permet à l'utilisateur d'éviter des cycles multiples de la reprogrammation de la ROM. ROM Emulator est seulement utile pour les microcontrôleurs, qui sont en mesure d'accéder à la mémoire de programme externe. Ce dispositif est comparable à la complexité et le coût des conseils. Il a un énorme avantage: flexibilité. ROM Emulator peut fonctionner avec tout type de microcontrôleurs.

émulateurs ROM précoces ne sont autorisées que pour charger le programme, démarrer et arrêter d'utiliser la réinitialisation. Puis vinrent les modèles compliqués avec la sortie matérielle des signaux de trace pour une certaine adresse à l'oscilloscope. la mémoire émulée dans de tels produits étaient disponibles pour examen et la modification, mais très important pour le contrôle des registres de contrôle interne du microcontrôleur n'a pas été possible jusqu'à récemment le temps.

Cependant, il existe des modèles d'émulateurs ROM intelligents qui vous permettent de "regarder" à l'intérieur du MCU au conseil d'administration de l'utilisateur et la direction générale pour le débogage, en circuit émulateur en acier-like. La société Cactus est même en fait un émulateur ROM intelligent, émulateur en circuit que le nombre de processeurs, de sorte qu'il est impossible de distinguer le travail avec les deux. En fait, le processeur n'a pas été remplacée, et utiliser celui qui est sur la carte de l'utilisateur.

émulateurs ROM intelligents sont un hybride d'un circuit émulateur ROM, moniteur et déboguer conventionnels rapidement passer d'un pneu à l'autre. Cela crée un effet comme si le moniteur de débogage a été installée sur la carte de l'utilisateur, et donc il ne prend pas de ressources matérielles du microcontrôleur, sauf pour une petite zone de pas de programme, environ 4K. Par exemple, on a mis au point une société, "Fitton" pour tous les microcontrôleurs actuels et futurs qui ont un noyau de 8051, mais est encore saturé avec une variété de dispositifs de sortie d'entrée \. Cet appareil prend en charge de nombreux microcontrôleurs différents par Philips, Siemens, OKI.

Environnement de développement intégré.

Strictement parlant, l'environnement de développement intégré ne sont pas parmi les outils de débogage, néanmoins ignorer cette classe d'outils logiciels qui facilitent grandement et accélérer le développement et le débogage des systèmes de microprocesseurs, il serait erroné.

Dans l'approche traditionnelle, le stade initial de l'écriture d'un programme est construit de la manière suivante:

  • Le code source est saisie à l'aide d'un éditeur de texte. A la fin de l'ensemble, en collaboration avec l'éditeur de texte est terminée et fonctionne compilateur croisé. En règle générale, le programme nouvellement écrit contient des erreurs de syntaxe, compilateur et les signale à la console de l'opérateur.
  • Nouvellement lancé un éditeur de texte, et l'opérateur doit trouver et corriger les erreurs identifiées, puisque l'écran est occupé par un éditeur de texte avec le message au sujet de la nature de l'erreur dérivée par le compilateur est pas déjà visible.

Ce cycle peut être répété plusieurs fois. Si le programme ne soit pas trop petite et insignifiante, allant de différentes parties, est soumis à la modification ou la mise à niveau, même cette première étape peut nécessiter beaucoup d'efforts et programmeur de temps, et l'humidité sensiblement l'enthousiasme du développeur.

Évitez la routine à haut volume et d'améliorer considérablement l'efficacité du développement et le débogage, activez émergents et gagne rapidement en popularité de ce qu'on appelle intégrée environnement (shell) développement (Integrated Development Environment, IDE).

Habituellement, "bon" IDE réunit sous une aile des outils de débogage disponibles (en circuit émulateur, un simulateur de logiciel, programmeur), et fournit ainsi un travail de programmation avec le programme dans le style de "turbo".

Travailler dans un environnement intégré fournit le programmeur:

  • La possibilité d'utiliser le haut-beaucoup d'éditeur de texte de fichier, spécialement adapté pour travailler avec des programmes sources.
  • erreurs de diagnostic détectées lors de la compilation, et le code source disponible à l'édition, sont affichées simultanément dans un multi-mode.
  • Capacité d'organiser et de mener des travaux parallèles sur plusieurs projets. Project Manager vous permet d'utiliser tout projet comme un modèle pour le projet nouvellement créé. Les options utilisées par le compilateur et la liste des fichiers sources du projet sont installés dans le menu de dialogue et enregistrées dans le projet, ce qui élimine la nécessité de travailler avec des fichiers batch encombrants.
  • Recompilation affecte les modules d'édition seulement.
  • Possibilité de télécharger le programme en cours de débogage dans les outils de débogage existants, et de travailler avec eux sans quitter le shell.
  • La capacité de se connecter à la coquille de pratiquement tous les logiciels.

Ces dernières années, les fonctions IDEs sont des interfaces logicielles membres des émulateurs et débogueurs les plus avancés, des simulateurs. Ces fonctionnalités, associées à une interface utilisateur conviviale, capable de rendre la vie plus facile pour le développeur et d'accélérer son fonctionnement.