> Mein Fazit: Schmeißt die ULINK-Dinger auf den Müll.
> Zum Programmieren der Elektronik gehen die Dinger ja, zum Debuggen taugen sie
nichts.
Zum Debuggen taugen sie sogar sehr viel, wenn man die Architektur
verstanden hat, auf der man programmieren will.
Der ARM Cortex besitzt intern eine neue Debug Unit, die Coresight Arch.
Diese erlaubt ein Non-Invasive Debugging, das heisst, man kann Memory
Reads und Watches auf die Debug IDE übertragen, ohne dass das
Zielprogramm auf dem Core davon beeinflusst wird.
Bei ARM7/9 gibt es das nicht.
---
Damit die IDE auch im RUN mode die Variablen und Memory Window updated,
muss unter "View" das "Periodic Window Update" eingeschaltet sein.
Weiterhin kann man sich zwei globale! Variablen in den Logic Analyzer
holen und (bei eingeschaltetem SWO Trace!) dort live ansehen.
Achtung: Die SWO Bandbreite des CM3 ist sehr begrenzt.
> Variablen nicht in Echtzeit
geht nicht, ausser du nimmst nen ULINK Pro oder ein anderes Trace
device.
Ebenfalls neu im Cortex sind die 6 HW BPs (gegenüber zwei beim ARM7).
ein BP wird meist vom Emu (ULINK, JLINK) gebraucht, im Step Over Mode.
Alle anderen sind frei verwendbar.
In die Hard Fault Routine z.B. kann man sich eine "bkpt" Instruction
legen, das ersetzt einen HW BP.
Weitere Fragen? Erst lieb fragen, dann schimpfen.
VG,
/th.