Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Débogage Portenta H7 Dual Core

Composants et fournitures

Arduino Portenta H7
× 1
Arduino Portenta H7 Breakout Board
× 1
Sonde de débogage Segger J-Link
× 1
Adaptateur Segger Cortex M
× 1

Applications et services en ligne

Arduino IDE
Microsoft Visual Studio 2017
Visual Micro

À propos de ce projet

L'Arduino Portenta H7 propose une grande variété de fonctionnalités et la possibilité d'exécuter votre code sur deux cœurs distincts, qui peuvent également communiquer entre eux !

Nous rencontrons tous des problèmes avec nos projets de temps en temps, nous montrons donc ici comment vous pouvez utiliser un Segger JLink pour déboguer le code s'exécutant sur les deux cœurs, en même temps !

Configuration du matériel

Une fois que vous avez monté votre Portenta H7 sur la carte de débogage, vous devrez connecter votre convertisseur MIPS 20 broches pour casser les broches de débogage.

Ensuite, vous pouvez câbler votre convertisseur au Segger J-Link comme indiqué dans les images ci-dessous.

Si vous avez les bons connecteurs à pas (0,05"), vous pouvez également câbler votre propre connecteur comme indiqué dans la deuxième image :

Configuration du logiciel

Nous supposons que vous avez déjà installé l'IDE Arduino sur votre machine (sinon téléchargez ici).

Installez ensuite Visual Studio (2017/2019/2022) et l'extension Visual Micro, avec des instructions complètes disponibles ici.

Vous devrez également installer le package de cartes pour les cartes Arduino Mbed OS Portenta depuis Visual Micro Explorer (ou depuis Boards Manager dans Arduino IDE).

Vous devrez remplacer le pilote USB sur l'interface 0 de votre Segger J-Link à l'aide de l'outil Zadig.exe (voir la vidéo en bas pour une procédure pas à pas).

Permet de coder !

Nous devons maintenant configurer un projet distinct, un pour chaque cœur de notre Portenta Board. Le code joint est un simple exemple de clignotement, où chaque noyau fait clignoter une LED de couleur différente. Pour le débogage, configurez chaque cœur dans une instance distincte de Visual Studio.

N'oubliez pas d'appeler la fonction bootM4() sur votre projet M7 Core pour vous assurer que les deux cœurs fonctionnent.

Configuration de débogage :M7 Core

Ouvrez votre M7 Core Sketch et sélectionnez Déboguer> Matériel et le débogueur Segger J-Link (PAS la "version NoOpenOCD)

Construisez et téléchargez votre croquis M7 sur le noyau M7 à ce stade.

Configuration du logiciel :M4 Core

Ouvrez votre Sketch et sélectionnez Déboguer> Matériel et le débogueur Segger J-Link (NoOpenOCD)

Construisez et téléchargez votre croquis M4 sur le noyau M4 à ce stade.

Démarrer le débogueur

Commencez d'abord par déboguer à l'aide de l'esquisse M7 Core en utilisant "Déboguer > Attacher au processus".

Ensuite, commencez le débogage à l'aide de l'esquisse M4 Core en utilisant "Déboguer > Attacher au processus".

Vous devriez maintenant pouvoir ajouter un point d'arrêt à l'une ou l'autre des esquisses et regarder le débogueur s'arrêter dessus... chaque noyau pouvant s'arrêter/pas à pas/continuer indépendamment !!

Vidéo pas à pas

Voir une procédure pas à pas pour ce processus ci-dessous sur YouTube....

Documentation + Schéma de câblage

Tableau de répartition Portenta

Segger JLink

Code

  • Code clignotant H7 M4
  • Code clignotant H7 M5
Code clignotant H7 M4Arduino
Code pour démontrer le clignotement sur le Portenta M4 Core
// Code pour démontrer le clignotement sur le Portenta M4 Core// la fonction de configuration s'exécute une fois lorsque vous appuyez sur reset ou alimentez le boardvoid setup() { // initialise la broche numérique 13 en tant que sortir. pinMode(LED_BLUE, OUTPUT);}// la fonction de boucle s'exécute encore et encore pour toujours loop() { digitalWrite(LED_BLUE, HIGH); // allume la LED (HIGH est le niveau de tension) delay(1000); // attend un deuxième digitalWrite(LED_BLUE, LOW); // éteint la LED en faisant le délai de tension LOW (1000); // attend une seconde}
Code clignotant H7 M5Arduino
Code pour démontrer le clignotement sur le Portenta M7 Core
// Code pour démontrer le clignotement sur le Portenta M7 Core// la fonction de configuration s'exécute une fois lorsque vous appuyez sur reset ou allumez le boardvoid setup() { bootM4(); // initialise la broche numérique 13 en tant que sortie. pinMode(LED_RED, OUTPUT);}// la fonction de boucle s'exécute encore et encore forevervoid loop() { digitalWrite(LED_RED, HIGH); // allume la LED (HIGH est le niveau de tension) delay(1000); // attend un deuxième digitalWrite(LED_RED, LOW); // éteint la LED en faisant le délai de tension LOW (1000); // attend une seconde}

Schémas

Comment connecter les broches SWD de la carte de dérivation au Segger J-Link

Processus de fabrication

  1. La carte Arduino cible l'IoT industriel
  2. Arduino Spybot
  3. FlickMote
  4. Téléviseur maison B-Gone
  5. horloge maîtresse
  6. Trouvez-moi
  7. Puissance Arduino
  8. Tech-TicTacToe
  9. Arduino quadrupède