Forum: Mikrocontroller und Digitale Elektronik ARM Debugger liest Speicher während CPU läuft (Core Sight Debug Architektur)


von J. V. (janvi)


Lesenswert?

habe einen Debugger (Hitex Tantino bzw. Hitop) welcher Speichervariablen 
zyklisch anzeigen kann, während die CPU läuft (STM32). Dies funktioniert 
sowohl mit JTAG als auch mit SWD Verbindungen und zwar ohne den Serial 
Wire Viewer (SWV). D.h. es sind mit Masse nur noch 2 Drähte 
angeschlossen.

Nun gibt es Debugger (z. Bsp. Coocox) die eine Variable erst dann 
aktualisieren wenn der Code z. Bsp. durch einen Breakpoint angehalten 
wird. Das ist lästig, denn ich habe mit an die obige Anzeige von Hitop 
bereits gewöhnt, wenngleich die Bandbreite bzw. Aktualisierungsrate 
ziemlich niedrig ist.

Es ist mir relativ unklar, wie das überhaupt funktioniert und ob eine 
solche zyklische Anzeige des Debuggers die Ablaufgeschwindigkeit der uC 
Applikation beeinträchtigen kann. Eine ETM ist offensichtlich nicht in 
Verwendung und möglicherweise kann der Speicher (über AMBA?) direkt vom 
Debug Port gelesen und geschrieben werden. Dann ist natürlich die Frage, 
warum das nicht alle können bzw. welche Debugger das tun...

von c-hater (Gast)


Lesenswert?

J. V. schrieb:

> Es ist mir relativ unklar, wie das überhaupt funktioniert

Genauso wie normales Debugging, bloß daß der Debuger nicht wartet, daß 
du ein Kommmando zum Weiterlaufen gibst.

> und ob eine
> solche zyklische Anzeige des Debuggers die Ablaufgeschwindigkeit der uC
> Applikation beeinträchtigen kann.

Natürlich kann und wird sie genau das tun. Deswegen auch die geringe 
Aktualisierungsrate in der Anzeige des Debuggers. Jede Erhöhung bremst 
im gleichen Maße die Anwendung.

> Dann ist natürlich die Frage,
> warum das nicht alle können

Weil sowas nicht wirklich nützlich ist. Jedenfalls nicht zum Debuggen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.