Accélérer le prototypage et les mises à jour de code avec un débogueur en circuit moderne
Avec la contribution de Rédacteurs nord-américains de DigiKey
2024-05-29
Les développeurs sont confrontés à des pressions pour accélérer la livraison des produits, alors même que les systèmes embarqués deviennent de plus en plus complexes. Les débogueurs en circuit (ICD) jouent un rôle crucial à cet égard, en aidant à identifier et à corriger rapidement les bogues. Cependant, les débogueurs traditionnels sont volumineux, peu flexibles et difficiles à utiliser, ce qui les rend inadaptés aux exigences de développement actuelles.
À la place, les développeurs peuvent sélectionner une solution moderne, compacte et dotée de fonctionnalités étendues et d'ensembles d'outils plus conviviaux. Ils doivent notamment rechercher une solution permettant un développement rapide et des mises à jour de produits en laboratoire et sur le terrain.
Cet article décrit brièvement le rôle et les exigences des ICD. Il présente ensuite une solution de Microchip Technology comme exemple de ce que les développeurs devraient rechercher dans un ICD moderne. Enfin, il aborde des outils de développement compatibles, des conseils de démarrage et un guide rapide sur l'utilisation d'un ICD en environnements de production.
Avantages et défis des ICD
Un ICD est un outil qui se connecte à un processeur installé dans le matériel cible. Cette connexion fournit un accès en temps réel au processeur pendant que le système fonctionne, permettant des tâches telles que l'exécution pas-à-pas et l'inspection de la mémoire. Un programmateur en circuit (ICP) s'appuie sur ces capacités en permettant d'écrire du code et des données dans la mémoire du processeur. Ensemble, ces fonctions sont essentielles au processus de développement embarqué.
Cependant, les débogueurs traditionnels requièrent des compétences spécialisées et des environnements de développement susceptibles de restreindre leur utilité. Ces débogueurs peuvent également présenter des limites lors du dépannage du matériel de production, et ils nécessitent souvent des connexions JTAG peu pratiques à mettre en œuvre sur le matériel de production en raison de contraintes de coût et d'espace. De plus, les logiciels et matériels spécialisés nécessaires au débogage peuvent être difficiles à transporter dans les environnements de terrain.
L'ICD/ICP MPLAB PICkit 5 PG164150 de Microchip Technology permet de surmonter ces contraintes. Entre autres fonctionnalités, il peut être utilisé via une application de smartphone avec une connectivité Bluetooth Low Energy (BLE). Cela permet aux techniciens de déployer des images de code sur le terrain, étendant considérablement les possibilités de correction de bogues et de mises à jour des logiciels.
Principales fonctionnalités du MPLAB PICkit 5
Le MPLAB PICkit 5 est un dispositif polyvalent qui prend en charge la plupart des microcontrôleurs (MCU) et des contrôleurs de signaux numériques (DSC) de Microchip Technology, y compris les dispositifs PIC, dsPIC, AVR et SAM (basés sur Arm® Cortex®). Comme illustré à la Figure 1, il intègre un logement pour carte microSDHC qui permet à l'outil de stocker plusieurs images de mémoire de périphérique.
Figure 1 : Aperçu du MPLAB PICkit 5 mettant en évidence ses principales caractéristiques. (Source de l'image : Microchip Technology)
Le MPLAB PICkit 5 se connecte à l'hôte via un câble USB Type-C et peut être alimenté soit via ce câble, soit par la cible. Le débogueur dispose également d'une connectivité BLE qui permet aux utilisateurs d'accéder à l'outil depuis un smartphone.
Le débogueur est doté d'un connecteur de programmation à 8 broches sur le côté cible, qui prend en charge diverses interfaces, notamment JTAG à 4 fils, Serial Wire Debug (SWD), Ethernet, JTAG à 2 fils rétrocompatible et ICSP (In-Circuit Serial Programming). Microchip Technology propose la carte d'adaptateur AC102015 (Figure 2) qui prend en charge toutes ces interfaces.
Figure 2 : La carte d'adaptateur AC102015 prend en charge un large éventail d'interfaces. (Source de l'image : Microchip Technology)
Le débogueur prend en charge des tensions d'alimentation cibles de 1,2 V à 5,0 V pour l'entrée en mode programme basse tension, et de 1,8 V à 5,0 V pour l'entrée en mode programme haute tension. Il peut également fournir directement 150 milliampères (mA) au dispositif cible.
Les fonctionnalités supplémentaires incluent un port de communication virtuel (VCOM), plusieurs points d'interruption matériels et logiciels, un chronomètre pour les opérations de synchronisation et la possibilité de déboguer directement les fichiers de code source. Le débogueur est alimenté par un microcontrôleur ATSAME70N2 de 300 MHz exécutant un système d'exploitation en temps réel (RTOS), garantissant l'absence de délais de téléchargement du micrologiciel lors de la commutation entre les dispositifs. Cette intelligence embarquée permet également au débogueur de prendre en charge de nouveaux périphériques et fonctionnalités cibles.
Principales améliorations par rapport aux versions MPLAB PICkit 4 et MPLAB PICkit 3
La série MPLAB PICkit évolue continuellement, apportant à chaque itération des améliorations en termes de flexibilité, de vitesse et de compatibilité avec les périphériques. Le Tableau 1 résume les mises à niveau critiques du MPLAB PICkit 5 par rapport à ses prédécesseurs.
|
Tableau 1 : Le MPLAB PICkit 5 offre de nombreux avantages par rapport à ses prédécesseurs. (Source du tableau : Kenton Williston)
Environnements de développement pris en charge par MPLAB PICkit 5
Le MPLAB PICkit 5 prend en charge divers environnements de développement, notamment :
- L'environnement de développement intégré (IDE) MPLAB X, une suite logicielle complète pour le développement de systèmes embarqués.
- L'environnement de programmation intégré (IPE) MPLAB, une application simplifiée qui inclut un mode de production pour les techniciens qui développent des produits basés sur les processeurs de Microchip Technology.
- La fonctionnalité MPLAB Programmer-To-Go (PTG) qui est incluse dans MPLAB X et qui fonctionne avec l'application de smartphone iOS et Android MPLAB X.
Il convient de souligner que l'application de smartphone (Figure 3) permet aux utilisateurs de programmer à distance le matériel cible à l'aide d'un processus simple :
- Le code est développé à l'aide de MPLAB X puis compilé dans un fichier Hex .ptg qui encapsule le code, les données et les informations de configuration.
- Le fichier Hex est téléchargé sur une carte microSDHC insérée dans le MPLAB PICkit 5.
- La carte microSDHC peut accueillir plusieurs fichiers Hex, ce qui offre à l'utilisateur une certaine flexibilité dans la programmation des dispositifs cibles.
- Le MPLAB PICkit 5 se branche au matériel cible.
- À l'aide de l'application de smartphone, l'utilisateur sélectionne une image de programme enregistrée sur la carte mémoire pour programmer la cible.
Figure 3 : L'application de smartphone MPLAB PTG offre une interface simple. (Source de l'image : Microchip Technology)
Le MPLAB PTG est particulièrement utile dans les environnements distants ou mobiles où un équipement supplémentaire n'est pas pratique. Il peut programmer des dispositifs directement sur le terrain sans ordinateur, transformant ainsi efficacement le MPLAB PICkit 5 en outil de programmation autonome.
Pour les développeurs, cela facilite les mises à jour rapides des micrologiciels sur le terrain, accélérant les cycles de développement et réduisant les délais de mise sur le marché. Les techniciens peuvent ensuite utiliser MPLAB PTG pour mettre à jour d'autres dispositifs sur le terrain, permettant ainsi le déploiement rapide des mises à niveau des produits. L'outil est également utile pour les scénarios d'urgence où une reprogrammation rapide est nécessaire pour restaurer les fonctionnalités du dispositif.
Premiers pas avec le MPLAB PICkit 5
L'utilisation de MPLAB PICkit 5 avec l'IDE MPLAB X est un processus que tout développeur de systèmes embarqués doit connaître. Les étapes fondamentales sont les suivantes :
- Installation : La dernière version de l'IDE MPLAB X doit être installée. Le MPLAB PICkit 5 est généralement pris en charge sans pilotes supplémentaires, mais les développeurs doivent néanmoins consulter le site Web de Microchip Technology pour obtenir les informations les plus récentes.
- Configuration du projet : PICkit 5 peut être sélectionné comme outil matériel pour la programmation et le débogage lors de la création d'un nouveau projet. Cette sélection est effectuée dans les propriétés du projet sous la catégorie « Hardware Tool ».
- Programmation : Une fois le projet configuré et le code préparé, le microcontrôleur peut être programmé en activant le bouton « Make and Program Device ».
L'IPE MPLAB offre un processus plus simple pour les techniciens dans un environnement de production. Les étapes clés pour utiliser cet outil sont les suivantes :
- Configuration : Le MPLAB PICkit 5 doit être sélectionné dans les outils disponibles. Le dispositif cible (modèle de microcontrôleur) et le fichier Hex destiné à la programmation doivent ensuite être sélectionnés.
- Programmation : Une fois le dispositif et le fichier Hex choisis, le microcontrôleur peut être programmé en appuyant sur le bouton « Program ». Si nécessaire, l'IPE MPLAB effacera le dispositif cible, le programmera et vérifiera la programmation.
Dans les deux environnements, les utilisateurs sont susceptibles de rencontrer des difficultés techniques. Souvent, ces problèmes sont dus à des causes simples qui peuvent être résolues comme suit :
- Garantir des connexions correctes : Le développeur doit vérifier les connexions à l'hôte et au dispositif cible. Avec une interface ICSP, il convient de prêter attention à l'orientation du connecteur.
- Vérifier les paramètres d'alimentation : Les paramètres d'alimentation doivent être vérifiés. Certains dispositifs peuvent être alimentés directement par le MPLAB PICkit 5, tandis que d'autres peuvent nécessiter une alimentation externe.
- Mettre le micrologiciel à jour : Des mises à jour du micrologiciel pour le MPLAB PICkit 5 sont périodiquement publiées par Microchip Technology. Les développeurs doivent s'assurer que la dernière version est installée.
Kits de développement compatibles avec le MPLAB PICkit 5
Le MPLAB PICkit 5 est compatible avec divers kits de développement conçus pour l'apprentissage, le prototypage et le développement d'applications. Par exemple, les cartes de développement Curiosity LPC (Low Pin Count) comme la carte DM164137, prenant en charge 8, 14 ou 20 broches, sont conçues pour l'expérimentation avec les microcontrôleurs PIC. Ces cartes intègrent souvent un programmateur et un débogueur, mais un outil externe comme le MPLAB PICkit 5 peut offrir des fonctionnalités supplémentaires. Les développeurs doivent vérifier si le programmateur embarqué peut être déconnecté via une option de cavalier.
Les cartes d'évaluation Xpress comme la carte DM164140 pour le PIC16F18855 sont un autre exemple. Ces cartes sont conçues pour un prototypage rapide avec des microcontrôleurs PIC spécifiques. Elles sont fournies avec un programmateur et un débogueur intégrés, mais les développeurs peuvent utiliser le MPLAB PICkit 5 pour la cohérence entre les projets ou pour les fonctionnalités spécifiques à ce débogueur.
Microchip Technology propose également des kits de démarrage, comme la carte d'évaluation PIC32MX XLP DM320105, fournissant le matériel et les logiciels nécessaires pour démarrer rapidement le développement. Le MPLAB PICkit 5 est utile pour programmer et déboguer les microcontrôleurs inclus dans ces kits, offrant ainsi une expérience transparente.
Conclusion
Les ICD modernes peuvent aider les développeurs à accélérer les cycles de développement et à déployer des mises à jour de produits sur le terrain. Le MPLAB PICkit 5 prend en charge une gamme plus étendue de dispositifs cibles, d'options de connectivité et d'outils logiciels que les débogueurs précédents, ce qui lui confère un haut degré de flexibilité et d'utilité. Son application de smartphone est particulièrement appréciable, car elle permet d'utiliser le MPLAB PICkit 5 dans des environnements qui sont difficiles d'accès avec les débogueurs traditionnels.

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.