Debugger mit Registerinformationen - Packs

Inhaltsübersicht

  1. [Toolchain installieren] (Grundfunktionen)
  2. [Eclipse und CDT installieren]
  3. [GNU ARM Eclipse installieren]
  4. [ST-Link und OpenOCD installieren sowie das erste Beispielprojekt]
  5. [Packs mit Mikrocontroller und Boarddaten laden]
  6. [Registerview auf Basis der Packs verwenden]
  7. [STM32CubeMX]
  8. [MinGW installieren]
  9. [unity verwenden]
  10. [doxygen und eclox installieren]

Debugger mit Registerinformationen? 


Was ist denn damit nun schon wieder gemeint?

Wenn eine neue Applikation mit einerm Mikrocontroller entwickelt wird, kommt es oft vor, dass neue Hardwareeinheiten verwendet werden. Für diese existieren noch keine (selbst erstellen) Bibliotheken, also gibt es noch viele Möglichkeiten etwas falsch zu machen. Um während des Debuggings mit gdb nicht nur einen Schrittbetrieb zu ermöglichen und ein paar Variablen zu sehen, gibt es die Möglichkeit die genauen Werte der Register zu den peripheren Einheiten genau anzuzeigen. Damit dort nun nicht nur eine Registeradresse und ein binärer Zeichensalat steht, kann dies durch das ARM GCC Plugin schön symbolisch angezeigt werden.


Dies ist bei kommerziellen Entwicklungsumgebungen heute Standard und wird durch diese Möglichkeit auch beim ARM GCC Plugin nachgereicht.

Wie kann der Register View nun in Eclipse für STM32 eingerichtet werden?

1. Das Herunterladen eines Packs ist notwendig. Dies wurde bereits in [Packs installieren] beschrieben. Nur Packs die Heruntergeladen wurden können als Basis für Register-Views verwendet werden.

2. In der Projektanzeige (C/C++ Perspective) die Projekteigenschaften öffnen.


3. Im Eigenschaftsfenster auf C/C++ und Settings gehen.



4. Unter Devices auf der rechten Seite kann nun der Prozessor gewählt werden, der im Register-View später zur Verfügung stehen soll. Dies ist natürlich sinnvollerweise der Prozessor, der in dem Projekt auch verwendet wird, sonst wird die Anzeige nicht richtig.


5. Den Dialog mit OK bestätigen.

6. Das ausgwählte Projekt kann nun in den Debug-Modus versetzt werden.

7. In der Debug-Perspective steht nun der View Peripherals zur Verfügung.



8. Nach der Auswahl einzelner peripherer Module wird ein Memory-View geöffnet, der die Register und Registerwerte der ausgewählten peripheren Einheit darstellt.



9. Immer wenn nun der Debugger angehalten wird, wird dieser Memory-View aktualisiert mit den aktuell gültigen Werten. Diese werden über eine spezielle Schnittstelle aus dem Mikrocontroller ausgelesen (Stichwort: ITM) und in Eclipse mit ARM GCC Plugin angezeigt,

10. Änderungen der Register können zur Zeit nicht vorgenommen werden.

Viel Spaß beim Nachmachen und viel entwickeln. Entwickeln kann nur durch machen und nicht nur durch Lesen gelernt werden.



Keine Kommentare:

Kommentar veröffentlichen