Aufbruch in eine neue Debug-Dimension

Multi-Core-MCUs effizient debuggen

25. Mai 2012, 13:25 Uhr | Von Jens Braunes
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Häufige Fehlerbilder beim Umstieg auf Multi-Core-MCUs

Bild 2. Deadlock-Situationen sind ein häufiges Fehlerbild, wenn Single-Core-Anwendungen auf Multi-Core-Systeme portiert werden.
Bild 2. Deadlock-Situationen sind ein häufiges Fehlerbild, wenn Single-Core-Anwendungen auf Multi-Core-Systeme portiert werden.

Erfahrungsgemäß werden die meisten Entwickler beim Umstieg von Single- auf Multi-Core-MCUs mit dem einen oder anderen der folgenden Fehlerbilder konfrontiert werden:

Bei älterem Code wird die Kommunikation zwischen einzelnen Tasks über globale Variablen, also über einen gemeinsam sichtbaren Speicher realisiert. Während die Tasks, die wechselseitig auf ein und derselben CPU ausgeführt werden, immer mit dem aktuellen Wert einer solchen Variable arbeiten, kann das auf einem Multi-Core-System mit verteilten Tasks ganz anders aussehen. Core-lokale Caches und Write-Buffer verzögern hier unter Umständen das Schreiben auf den gemeinsamen Speicher, so dass es leicht zu Inkonsistenzen kommen kann. Im schlimmsten Fall wird dann einfach mit dem falschen Wert gerechnet.

Ein oft auftretendes Fehlerbild bei echt nebenläufigen Prozessen, wie sie ja typisch für Multi-Core-MCUs sind, ist der Deadlock (Bild 2). Benötigen die Tasks 1 und 2 beispielsweise zwei Ressourcen A und B und versuchen diese zu reservieren, dann kann bei ungünstiger Reihenfolge der Reservierungen Task 1 die Ressource A und Task 2 die Ressource B blockieren. Versuchen dann beide Tasks die noch fehlende Ressource ebenfalls zu reservieren, blockieren beide. Auf einem Single-Core-System war dieses Problem nicht sichtbar, da beide Tasks sequenziell abgearbeitet wurden und die Reservierungssequenz eines Tasks immer vollständig ausgeführt wurde.

 


  1. Multi-Core-MCUs effizient debuggen
  2. Häufige Fehlerbilder beim Umstieg auf Multi-Core-MCUs
  3. Kein übergreifender Zeitbezug für Multi-Core-Systeme
  4. Jenseits von Stop & go
  5. Bilder sagen mehr als Worte

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu pls Programmierbare Logik & Systeme GmbH

Weitere Artikel zu Mikrocontroller

Weitere Artikel zu Entwicklungswerkzeuge