Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Debuggen van het Arduino Portenta H7 Dual-Core-systeem met Segger J-Link

Onderdelen en benodigdheden

Arduino Portenta H7 × 1
Arduino Portenta H7 Breakout Board × 1
Segger J-Link Debug Probe × 1
Segger Cortex M Adapter × 1

Apps en online diensten

  • Arduino IDE
  • Microsoft Visual Studio 2017
  • Visual Micro

Projectoverzicht

De Arduino Portenta H7 levert een krachtige dual-core-architectuur: een Cortex-M7 draaiend op 480 MHz en een Cortex-M4 op 240 MHz. De twee kernen kunnen onafhankelijke firmware draaien en communiceren via gedeelde geheugen of semaphores.

Het debuggen van beide kernen simultaan vereist een toegewijde SWD-interface en een debugger die multi-target sessies ondersteunt. In deze gids tonen we hoe je een Segger J-Link gebruikt om verbinding te maken met elke kern, de ontwikkelomgeving in te stellen, en een eenvoudig blink-voorbeeld uit te voeren dat onafhankelijke besturing van elke kern's LED demonstreert.

Hardware-opstelling

1. Monteer de Portenta H7 op het breakout-bord. Het bord blootstelt een 20-pins MIPS-stijl header die verbindt met de SWD-pins van beide kernen.

2. Bevestig een 20-pins MIPS-converter aan de breakout-header om de debug-signalen te scheiden.

3. Bedraad de converter naar de Segger J-Link volgens het pin-out diagram hieronder. Als je een aangepaste oplossing prefereert, gebruik 0,05-inch pitch connectors en volg de voorbeeldbedrading getoond in de tweede afbeelding.

Debuggen van het Arduino Portenta H7 Dual-Core-systeem met Segger J-Link
Debuggen van het Arduino Portenta H7 Dual-Core-systeem met Segger J-Link

Software-opstelling

1. Installeer de Arduino IDE (download van Arduino website).

2. Installeer Microsoft Visual Studio (2017, 2019 of 2022) en de Visual Micro extensie (volledige instructies zijn beschikbaar op de Visual Micro website).

3. Voeg het Arduino Mbed OS Portenta Boards pakket toe via de Visual Micro Explorer of de Boards Manager in de Arduino IDE.

4. Vervang de USB-driver op Interface 0 van de Segger J-Link met de WinUSB-driver met behulp van Zadig. Een korte walkthrough-video is hieronder gelinkt.

Laten we coderen

Bereid twee afzonderlijke projecten voor, één voor elke kern. De volgende Blink-voorbeelden laten een andere LED op elke kern branden en kunnen onafhankelijk worden gedebugd.

Belangrijk: In het M7-project roep bootM4() aan het begin van setup() om ervoor te zorgen dat beide kernen actief zijn.

Debug-opstelling: M7-kern

Open de M7-sketch in Visual Studio, ga naar Debug > Hardware en selecteer Segger J-Link Debugger (niet de NoOpenOCD-versie). Bouw en upload de sketch naar de M7-kern.

Debuggen van het Arduino Portenta H7 Dual-Core-systeem met Segger J-Link

Debug-opstelling: M4-kern

Open de M4-sketch, kies Debug > Hardware, en selecteer Segger J-Link Debugger (NoOpenOCD). Bouw en upload naar de M4-kern.

Start de Debugger

Start eerst een debug-sessie voor de M7-sketch met Debug > Attach to Process. Herhaal dezelfde stap voor de M4-sketch. Je kunt nu breakpoints zetten in elk project, pauzeren, stappen, of doorgaan onafhankelijk — elke kern reageert op zijn eigen commando's.

Debuggen van het Arduino Portenta H7 Dual-Core-systeem met Segger J-Link

Walkthrough-video

Bekijk een stap-voor-stap demonstratie op YouTube:

Debugging Portenta H7 Dual-Core met Segger J-Link

Nuttige links

Code

  • H7 M4 Blink Code
  • H7 M7 Blink Code

H7 M4 Blink Code Arduino

// Blink op de Portenta M4-kern
void setup() {
  pinMode(LED_BLUE, OUTPUT);
}
void loop() {
  digitalWrite(LED_BLUE, HIGH);
  delay(1000);
  digitalWrite(LED_BLUE, LOW);
  delay(1000);
}

H7 M7 Blink Code Arduino

// Blink op de Portenta M7-kern
void setup() {
  bootM4(); // Activeer de M4-kern
  pinMode(LED_RED, OUTPUT);
}
void loop() {
  digitalWrite(LED_RED, HIGH);
  delay(1000);
  digitalWrite(LED_RED, LOW);
  delay(1000);
}

Schema's

Hoe de SWD-pins op het Breakout Board te verbinden met de Segger J-Link:

Debuggen van het Arduino Portenta H7 Dual-Core-systeem met Segger J-Link

Productieproces

  1. Bluetooth-gecontroleerde Arduino Spybot bouwen
  2. FlickMote: Gebarengecontroleerde IR-afstandsbediening voor Slimme Huizen
  3. DIY Arduino TV-B-Gone: Universele TV-uit-schakelaar
  4. Bouw een Aangepaste LED Hoofdklok met Alarm – Zichtbaar vanaf 12 Meter
  5. Find Me: Slimme Item Locator met Arduino en Bluetooth
  6. Geoptimaliseerde Voedingsoplossingen voor Arduino Projecten
  7. Arduino Boter-Kaas-Eieren met MAX7219 LED Matrix en Kartonnen Behuizing
  8. Bouw een Slimme Arduino Vierpotige Robot: Stap-voor-Stap Handleiding
  9. Bouw een Aangepaste Arduino Joystick Stuurwiel voor Gaming
  10. Bouw een Volledig Functionele CNC-machine met Arduino Nano R3
  11. Arduino lanceert Portenta H7: Industriële IoT-board debuteert op CES