PEmicro-erlebniswelt

Introduction du débogage sur puce

Comment fonctionne le débogage sur puce ?

Ce qui suit est une simplification pour aider les nouveaux utilisateurs avec les concepts..........

Chaque puce individuelle d'une famille ( par exemple ARM ou NXP/Freescale ColdFire ) attribue quelques broches pour la communication entre un module de contrôle spécial à l'intérieur de la puce du microprocesseur et un programme d'application qui fonctionne normalement sur un PC. Pour minimiser le nombre de broches et de circuits utilisés sur la puce, cette communication utilise typiquement une connexion de communication non standard, nous avons donc besoin d'une interface spéciale du côté du PC.

Lorsque le microcontrôleur est allumé, ces broches sont vérifiées et si elles sont réglées d'une certaine manière, le module de contrôle prend le contrôle et le microcontrôleur est considéré comme fonctionnant en mode de débogage sur puce (nous utiliserons l'abréviation BDM pour Background Debug Mode comme synonyme).  Si le BDM n'est pas réglé, le module de contrôle démarre simplement le microcontrôleur à la position d'allumage et n'a rien d'autre à faire --- les broches sont affectées à leurs fonctions E/S standard. 

Si le BDM est réglé, c'est le module de contrôle et non le CPU qui décide de ce qui se passe ensuite. Le module de contrôle a accès à tous les bus de mémoire et peut par exemple lire et écrire dans toutes les mémoires et registres en mode BDM et envoyer leur contenu au PC pour que l'ingénieur puisse les visualiser. L'ingénieur peut décider d'envoyer un nouveau code du PC qui sera chargé dans la RAM de la cible. Le module de contrôle peut aussi forcer le microprocesseur à exécuter une seule instruction ou à fonctionner jusqu'à ce que le microprocesseur atteigne un endroit prédéfini dont l'adresse correspond au contenu des "registres de point d'arrêt" du module de contrôle. Avec ces quelques fonctions, l'ingénieur qui utilise le PC a toutes les possibilités de contrôler le système cible et de déboguer le code sur le microcontrôleur.

En bref, BDM offre 90% de la fonctionnalité d'un émulateur In Circuit (ICE) pour <1% du coût. 

Remarque : si JTAG est utilisé pour contrôler le débogage sur la puce, les normes de signal spécifiées par le Joint Test Action Group (JTAG est le nom général pour IEEE 1149.1) sont utilisées pour la communication, mais cela ne signifie pas automatiquement que la puce peut être testée avec des techniques et des outils boundary-scan.

 

Utiliser le BDM pour programmer le flash ?

Le secret est que, via l'interface BDM, une petite application est chargée dans la RAM plus autant de données à charger dans le flash que le reste de la RAM peut contenir.  Le BDM lance alors cette application qui "brûle" la flash, puis retourne au PC pour récupérer d'autres données jusqu'à ce que la tâche soit terminée.

L'offre de produits BDM & JTAG de PEmicro est décrite ci-dessous

PEmicro est leader dans ce domaine et ses produits sont inclus dans de nombreux paquets NXP/Freescale EVB.  Les outils de PEmicro, y compris les interfaces, les logiciels comme les programmateurs (PROG), les débogueurs in-circuit (ICD), les assembleurs/éditeurs et les afficheurs de fichiers de registres (REGxx) sont tous disponibles en stock. Ils fonctionnent via les interfaces de PEmicro qui relient le PC à la cible, par USB ou Ethernet. Ces produits sont disponibles en tant qu'application Windows 32/64 bits complète pour W95/98/2K/NT/XP/W7 et W8 pour les familles de processeurs cibles suivantes :

  • ARM Cortex M0-4
  • Tous les dispositifs Freescale
  • Périphériques NXP (LPC TI/Stellaris)
  • Périphériques Renesas & Hitachi
  • ST Microelectronics Devices

Interfaces BDM, JTAG et SWD

Les derniers câbles universels USB-Multilink de PEmicro sont les interfaces matérielles entre un PC standard et l'en-tête sur n'importe lequel des nombreux systèmes cibles. Selon la puce, ils donnent accès aux interfaces Background Debug Mode (BDM), JTAG et SWD du microcontrôleur. Grâce à l'utilisation du câble BDM/JTAG/SWD, le

 l'utilisateur peut profiter des avantages du "débogage sur puce" pour programmer des modules de mémoire FLASH internes ou externes et tester le code d'application dans le micro.

Avec le Multilink ACP bon marché pour la gamme ARM, le Multilink Universal pour une large gamme de CPU de Motorola, NXP à ARM ou le Multilink Universal FX très performant et pour la production de la gamme Cyclone comme alternatives, différents points de rapport qualité/prix sont disponibles.

Des outils de programmation de mémoire flash sont disponibles aussi bien pour l'environnement de développement que pour l'environnement de production.  Tu trouveras des détails sur leur fonctionnement ci-dessous.

pemicro Multilink fx debug schnittstelle
howbdm

Caractéristiques

Contrôle total des ressources sur puce via BDM/JTAG/SWD
Émulation in-circuit à pleine vitesse à un prix abordable
Programmation pour les modules de mémoire EEPROM/FLASH internes ou externes
Exécutionexécuter jusqu'au point de rupture matériel
Fonctionne avec les paquets logiciels de programmation PROG ainsi qu'avec une variété d'environnements de débogage de compilateurs
tels que CodeWarrior, KDS, Keil, IAR, Atollic, GDB
Des versions de 1,8 à 5 volts sont disponibles, voir les informations spécifiques à la puce
Téléchargements très rapides et stepping
Bibliothèque d'interfaces et démo pour ses propres testeurs et logiciels

En utilisant les architectures cibles synchrones du modèle Universal FX, comme Kinetis, Qorivva, Coldfire V2-V4, 683xx, HC16, Power Architecture PX Series et DSC, la communication peut être 4 à 10 fois plus rapide qu'avec les interfaces multilink plus anciennes.

Télécharger-speed-universal-fx

Série Cyclone

Cyclone_Bild

Ces boîtiers se connectent à un PC via série, USB ou Ethernet pour fournir un programmateur flash interactif ultra-rapide sous contrôle manuel ou automatique. Ils peuvent même être séparés du PC et utilisés comme programmateur flash autonome. Si tu développes des applications pour l'un des composants NXP / Freescale, ils sont le seul outil de développement matériel spécifique au CPU que tu devras jamais acheter. Ils fonctionnent avec tous les progiciels mentionnés ci-dessous.

Cyclone Universal LC A utiliser avec les familles 68HC08, HCS08, HC12, HCS12. Interfaces avec PEmicro, CodeWarrior et les environnements de débogage Cosmic.  Ainsi que Pour une utilisation avec Arm cortex, Kinetis, 55xx/56xx/57xx Qorivva, ColdFire, PPC 5xx/8xx, STM32, STM8, SPC56 et les familles MAC 71xx,72xx (ARM). Interface avec le serveur GDB ARM. Ils programment aussi les appareils suivants

Cyclone pour les composants ARM® Cortex Pour programmer les composants basés sur ARM Cortex M0-4 de STMicro, NXP, TI Stellaris et NXP/Freescale Kinetis.


Cyclone Universal FX, la spécification la plus élevée de la famille, a été développée pour une utilisation en production et se caractérise par une vitesse de téléchargement extrêmement élevée : Jusqu'à 75Mb/s. Il a une mémoire de Gbyte pour enregistrer 200+ images et peut sélectionner et lancer la programmation via un scanner de code-barres. Il programme toutes les puces mentionnées ci-dessus de HC08 - ARM puis avec des adaptateurs STM32, STM8 et SPC56 familles ainsi que Renesas M32C, M16C, M16C/80, R8C, H8 et H8S/Tiny familles.  Une version plus économique est prévue exclusivement pour la famille ARM.

Les Cyclones sont équipés d'un ensemble complet d'algorithmes de programmation flash et sont particulièrement appréciés dans les environnements de production, où ils peuvent être utilisés avec une série d'options d'automatisation conçues pour la programmation en ligne complète.

prog32w

Programmeur Flash BDM

Un pack logiciel de programmation Flash EEPROM interactif qui te permet de programmer/reprogrammer les modules Flash internes et externes en circuit via un câble d'interface PEmicro. Parfait pour le développement, la programmation de la ligne de production ou les mises à jour du firmware sur le terrain. Les produits PEmicros contiennent toute notre bibliothèque de fichiers de configuration pour un processeur donné et comprennent des versions interactives et des versions en ligne de commande pour une utilisation en développement et en production. 

Les fonctions pour la mémoire flash sont les suivantes : 

Programmation, vérification, contrôle à blanc, téléchargement, affichage & suppression.

Débogueur in-circuit

Le logiciel In-Circuit Debugger de PEmicro - ICD pour Windows est un outil puissant pour le débogage. Il utilise le mode de débogage de code en arrière-plan du processeur via un câble d'interface pour permettre à l'utilisateur d'accéder directement à toutes les ressources sur la puce.

  • Support du débogage au niveau de la source C pour IEEE695 & GNU
  • Émulateur in-circuit à pleine vitesse
  • Points d'arrêt avec compteurs pour s'interrompre à la prochaine exécution
  • Fenêtre de variables avec affichage des octets, des mots, des chaînes et des mots longs
  • Exécution en temps réel et plusieurs modes de traçage
  • Fichiers de démarrage et de macro pour automatiser le processus de débogage
  • Aide contextuelle pour toutes les commandes
  • Mesure du timing et fonctions de comptage de l'exécution
  • Touches de raccourci pour placer des points d'arrêt et des compteurs
  • Prise en charge des fichiers de registre symboliques
icd32w
reg32w

Fichier de registres

Avec REGxx, l'utilisateur peut afficher et modifier les champs de registre du processeur via le BDM, à la fois en format symbolique et numérique, ce qui évite la recherche fastidieuse de descriptions de registres dans les pages de manuel. Lorsque l'utilisateur sélectionne un registre, la mémoire réelle du processeur est lue et affichée. Les fichiers de registre fonctionnent avec le logiciel de débogage in-circuit de PEmicro.

PACKAGE avec assembleur  

Un package logiciel Windows 32 bits complet, composé d'un environnement de développement intégré, d'un débogueur in-circuit, d'un assembleur, d'un programmeur, d'un fichier de registre, est désormais disponible pour toutes les unités centrales -- ajoute simplement le câble de ton choix. 

 

PACKAGE Pro avec C 

Le package PEmicro "Pros" offre tout ce dont l'ingénieur a besoin pour commencer à utiliser le compilateur Gnu Cross.  Il contient une version précompilée par PEmicro de l'ensemble d'outils du compilateur GNU/GCC qui fonctionne directement sous l'environnement Windows, sans avoir besoin d'installer un shell Unix. Le compilateur est intégré à WinIDE et permet de compiler un projet de niveau C en une seule touche. Le paquet contient du code de démarrage et des scripts de liaison pour les appareils les plus courants. Le compilateur génère les formats de sortie Elf/Dwarf 2.0 et S19 ; le format Elf/Dwarf est chargeable avec le débogueur in-circuit de PEmicro et le format S19 est chargeable avec le programmeur flash in-circuit de PEmicro, tous inclus avec une interface BDM/JTAG appropriée. Les versions Pro du paquet sont maintenant disponibles pour ColdFire et Power PC Qorivva 55xx/56xx/57xx (AKA NEXUS). 

 

Bibliothèque d'unités

Une bibliothèque d'appels permettant au PC de piloter directement le câble BDM.  Idéal si tu veux créer tes propres programmes de test pour la ligne de production.  Voici un exemple pour l'API C et Pascal. Deux versions sont disponibles Windows et Linux x86 (pas ARM).

Outils de débogage

PEmicro Multilink UniverselMultilink Universal
Multilink Universal
USB-ML-UNIVERSAL
PEmicro Multilink Universal est une interface pour déboguer et programmer les processeurs ARM et 8/16/32 bits.

290,00 €*
1.5 %
PEmicro Multilink FX UniversalMultilink Universal FX
Multilink Universal FX
USB-ML-UNIVERSAL-FX
PEmicro Multilink FX Universal est une interface pour déboguer et programmer les processeurs ARM et 8/16/32 bits

590,00 €* 599,00 €*
pemicro cyclone fx universalCyclone FX Universal Header Layout
Cyclone Universal FX
CYCLONE-FX-UNIV
Le PEmicro Cyclone FX Universal est un programmeur autonome pour les processeurs ARM et 8/16/32 bits.

1 369,00 €*