Forum: Mikrocontroller und Digitale Elektronik STM32: Probleme mit Ride7 Primer2 zu debuggen


von Fun R. (funnyrice)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich versuche mit Ride7 den Primer2 bzw. den STM32F103VET6 zu debuggen.
Habe gelesen, dass man dazu "aufwendige" Einstellungen vornehmen muß.
Aber in Detail leider nicht was alles eingestellt werden muß.

Ich habe die lib_dbg.h und lib_dbg.c in das Projekt eingebunden bzw. 
inkludiert.
In der main() Funktion rufe ich als erstes debug() auf.
Unter [Projek]->[Properties]->[RLink Confuguration]->[Advanced Options] 
habe ich 12MHz eingestellt.

Unter Debug environment ist folgendes eingestellt:
Debug tool: RLink
Code Offser: 0x00
Data Offset: 0x00
Explore code: No
Start mode: Main() function entry

Ich benutzte das Toggle Beispielprojekt für den Primer2 dass ich 
mittlerweile um mehrere Funktionen erweitert habe.
(Hab´s mal angehangen).

Wenn ich nun mit [Debug]->[Start] den Code schrittweise durchklicke, 
dann springt der Programmzeiger unplausibel umher und Variablenwerte 
sind falsch.

Merkwürdig finde ich auch die "mitgelierferte" NVIC-Funktion in der u.a. 
folgendes steht:
1
#ifdef  VECT_TAB_RAM  
2
  /* Set the Vector Table base location at 0x20000000 */ 
3
  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); 
4
#else  /* VECT_TAB_FLASH  */
5
  /* Set the Vector Table base location at 0x08000000 */ 
6
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);   
7
#endif
Merkwürdig, weil die Werte nicht denen im Kommentar entsprechen.

Hat jemand vielleicht einen Tipp?!?

MfG Fun Rice

von (prx) A. K. (prx)


Lesenswert?

Zum Verständnis der Parameter von NVIC_SetVectorTable muss man sich das 
SCB_VTOR Register im Cortex-M3 Programming Manual genauer ansehen, da 
die Lib-Funktion direkt auf dessen Struktur aufbaut. Der zweite 
Parameter ist nicht die vollständige Adresse der Tabelle.

von Fun R. (funnyrice)


Lesenswert?

Hmm, OK.

Ist das denn die Ursache für mein Debug-Problem?
Bis auf die letzte Funktion, die ich eingetragen habe und gerne debuggen 
möchte, läuft der Controller auch mit Interrupts.

MfG Fun Rice

von (prx) A. K. (prx)


Lesenswert?

Zu Primer2/RLink/Ride7 kann ich nichts beitragen.

Bei Debugging empfiehlt es sich allerdings, ohne Optimierung zu 
übersetzen.

von Fun R. (funnyrice)


Lesenswert?

Hmm. schade, aber trotz dem danke!

Kommt mir so vor, daß ich mich für eine nicht optimale IDE und "Board" 
entschieden habe.
Die Ausstattung vom Primer2 war sehr verlockend.

Hoffe, jemand hat noch einen Tipp.


MfG Fun Rice

von abcxyz (Gast)


Lesenswert?

A. K. schrieb:
> Bei Debugging empfiehlt es sich allerdings, ohne Optimierung zu
> übersetzen.

Das ist der Tipp den du probieren solltest

von Fun R. (funnyrice)


Lesenswert?

Hallo,

das habe ich schon gemacht,(aber nicht gepostet).

Das Problem bleibt weiterhin bestehen Step-Anweisungen werden nur 
teilweise ausgeführt, Variableninhalte aktualisieren sich nicht oder "zu 
spät".

MfG
Fun Rice

von Fun R. (funnyrice)


Lesenswert?

So, ich hab die Sau!
Habe festgestellt, daß die Symbolliste (ganz klein) geöffnet war.
Aus diesem Grund war Ride7 fast nur damit beschäftigt alle Werte in der 
Liste zu aktualisieren. Daß die Liste geöffnet war, konnte man kaum 
sehen.

MfG
FunRice

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.