MSp430 TAR springt

Gast #1856540
Lesenswert?
• ▲
▼
Hi,
habe folgendes Problem:
Wenn ich mit CodeComposerStudio durch mein Programm steppe, dann gibt es 
da mehrere Stellen an denen der Inhalt von TAR "springt".
zb von 0x8F41 auf 0x272D ...
Eine der Zeilen an denen das passiert ist zB diese:
1
MS_BitMask = (1 << (Size - 1));
Woran kann das liegen?

Wenn ich das Step-Over verwende, dann bleiben die Werte stimmig ...
Ist das ein Fehler von CCS oder hab ich Mist gebaut?


Gruß
Codebär
Gast #1858105
Lesenswert?
• ▲
▼
Hallo,

vielen Dank für den Hinweis auf das Pdf ... ich hab (wie im Dokument 
beschrieben) die Einstellungen kontrolliert. Laut den checkboxen die 
gesetzt sind, werden alle Clocks angehalten.

Was mich auch ein wenig wundert, ist dass mein Programm beim 
Singlestepping, oder wenn ich von Breakpoint zu Breakpoint springen 
will, abstürzt. Wenn ich den Play Button verwende und alle Breakpoints 
weg sind, dann läuft es durch ohne abzustürzen. (ich lasse UART-Zeichen 
ausgeben um zu erkennen wo ich mich im Programm befinde, wenn ich keine 
Breakpoints verwende)

Ich verwende übrigens das MSP430FET-USB, CodeComposerStudio(die 
MSP430-Core Version mit Codebeschränkung) und einen MSP430F23xx.


Hat jemand schon ähnliche Probleme gehabt?

Gruß
Codebär
Gast #1858315
Lesenswert?
• ▲
▼
Was genau bedeutet, Dein Programm stürzt ab... was passiert?
Stürzt CCS oder das MSP430-Programm ab?
Wieviele Breakpoints hast Du gesetzt?
Die F23xx haben 2 HW-Breakpoints, hast Du mehr gesetzt, werden die in SW 
emuliert. Dann läuft Dein gesamter Code aber im Single Stepping mode 
(zumindest bei IAR)... das kann dann von BP zu BP ewig dauern!
Gast #1859187
Lesenswert?
• ▲
▼
Hallo Stefan,

ich habe nur die SW-BP verwendet.
Mit Absturz meine ich: das Programm macht nicht an der erwarteten Stelle 
weiter(innerhalb einer while(1)-Schleife), sondern startet neu.
Ich habe bei der Initialisierung der Variablen am Anfang der main() 
ebenfalls ein BP gesetzt um sicher zu sein, dass das Programm neu 
gestartet wird ... für die while(1) gibt es keine Abbruchbedingung, also 
muss irgend eine Art von Reset ausgelösst werden um beim Anfang der 
main() zu landen?
Hardwaredefekt und Watchdog könnens nicht sein, da ohne die BP (oder 
Singlestepping) das Programm ja durchläuft.

I'm at the end with my latin ;)

Gruß
Codebär
Gast #1860673
Lesenswert?
• ▲
▼
Hallo Stefan,

den Code kann(darf) ich leider nicht hier reinstellen :(
WDT wird wie in den TI Beispielen direkt nach der Initialisierung der 
Variablen mittels:
1
WDTCTL = WDTPW + WDTHOLD;
deaktviert.

Nun ja, ich werd wohl allein klarkommen müssen, ein Ratespiel will ich 
Dir nicht zumuten ... Zeitverschwendung und so ;)

Ich bedanke mich trozdem für deine Hilfe und das Interresse an meinem 
Problem.


Liebe Grüße
Codebär

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.