mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32 mit ULINK debuggen / globale variablen werden nicht laufen aktualisert


Autor: Ringo Star (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe das seltsame Phänomen, dass ich in einigen STM32 Projekten 
unter µVision3 die Änderungen der globalen Variablen nicht in Echtzeit 
sehen kann. Sie werden erst aktualisiert, wenn ich einen Breakpoint 
setze. Bei anderen Projekten funktioniert das. Die Projekteinstellungen 
habe ich bereits übeprüft. Kennt jemand das Problem oder hat sogar 
abhilfe?

Gruß
Ringo Star

Autor: Maxim D. (tisonox)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Ringo,

ich nutze uVision3 und ULINK2 mit einem STR9. Habe auch das gleiche 
Problem. Die Variablen werden bei mir auch nur bei Breakpoints oder wenn 
ich Schritt für Schritt durchgehe aktualisiert.

Gruß
Maxim

Autor: Mandrake (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich arbeite hier auch mit eine ULINK an einem ARM LPC2292.
Das Problem kenne ich auch. Variablen werden manchmal sogar nach dem 
anhalten nicht aktualisiert. Aber nur scheinbar. Schon des öfteren habe 
ich gedacht mein Programm hat einen Fehler weil die Variableninhalte 
einfach nicht angezeigt werden.
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 nutzen wir den Lauterbach-Debugger. Teuer aber SEHR GUT. 
Hat uns schon viel Zeit gespart. Das Teil ist Gold Wert.

Gruß

Mandrake

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber es muß doch einen Grund geben, warum die Variableninhalte nicht 
aktualisiert werden. Einfach wegwerfen? Was sagt denn Keil zu diesem 
Verhalten? Liegt das Problem überhaupt am Ulink?

Autor: Random ... (thorstendb) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Random ... (thorstendb) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:

ULINK2, ME und Pro unterstützen alle SWJ sowie SWO.
Ich habe noch keinen gehabt, wo das nicht ging (und habe sie alle hier 
liegen, ebenfalls die JLink/Trace :-) )

Autor: Marcus Harnisch (mharnisch) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Random ... schrieb:
> 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.

Warum eigentlich? CM3 hat doch das C_STEP bit im DHCSR. Oder soll das 
Verhalten in Halt-mode und Monitor-Mode einfach identisch sein?

Gruß
Marcus

Autor: Ringo Star (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Random,

vielen Dank! Das mit dem "Periodic Window update" war genau was ich 
suchte!

Gruß
Ringo Star

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.