www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSp430 TAR springt


Autor: Codebär (Gast)
Datum:

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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Debuggen mit Hilfe des EEM bedeutet nicht zwangsläufig, dass beim 
Single-Stepping z.B. auch der Timer-Clock angehalten wird:
http://focus.ti.com/lit/an/slaa393a/slaa393a.pdf

Autor: Codebär (Gast)
Datum:

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

Autor: Stefan (Gast)
Datum:

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

Autor: Codebär (Gast)
Datum:

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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Codebär schrieb:
> Hardwaredefekt und Watchdog könnens nicht sein
Wie und wo deaktivierst Du den WDT?

Ohne kompletten Code wird das hier allerdings zum Ratespiel!

Autor: Codebär (Gast)
Datum:

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

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.