Forum: Mikrocontroller und Digitale Elektronik Programm Counter MSP430 auslesen


von Fabio S. (codehamster)


Lesenswert?

Hallo zusammen,

Brauche eure Hilfe.

Folgendes Problem. Seit kurzer Zeit stehen einige Automaten einfach 
still. Weder HW-Reset noch sonst was bringt Sie zum weiterlaufen. Da ich 
den Code leider nicht selbst geschrieben habe und nun das Projekt 
übernommen habe gestaltet sich die Fehlersuche schwierig. Ich möchte 
wissen wo die SW stehen bleibt. Kann ich dazu den PC auslesen? und somit 
auf die Stelle im SourceCode zurückschliessen?
Da ich nicht nachvollziehen kann wie ich in diesen Status komme nützt 
mir das Debuggen auch nichts da ich den Fehler ja nicht provozieren 
kann.

Hat vieleich jemand einen Tipp?
Kann ich den PC auslesen ohne dass ich den MSP neu Flashen muss?

MFG Fabio

von holger (Gast)


Lesenswert?

>Weder HW-Reset noch sonst was bringt Sie zum weiterlaufen.

Ein/Ausschalten auch nicht? Da würde ich den Fehler dann nicht
in der Software suchen ;) Es sei denn der flasht sich sein
eigenes Programm unter den Füssen weg.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn das Programm "abstürzt", dann wird der PC darin irgendwas machen. 
"Stehenbleiben" tut die Software mit Sicherheit nicht, sie wird nur 
irgendwelche sinnarmen Schleifen durchführen.

Da man die MSP430-Familie vorzüglichst über JTAG debuggen kann, musst Du 
nur ein Entwicklungssystem an einen der stehenbleibenden Automaten 
anschließen und den Kram halt im Debugger laufen lassen.

Wenn das "Absturz"verhalten auftritt, hältst Du die ganze Chose an und 
kannst Dir den Stack, die Register und sonstige Speicherinhalte näher 
ansehen.

von Fabio S. (codehamster)


Lesenswert?

Danke für die prompte Antwort!

Das das Programm da sinnfreie Schleifen ausführt ist mir klar. Nur finde 
ich den Grund und den Ort dafür nicht!

Das Komische ist nur dass das ganze bis jetzt 1 Jahr ohne Probleme lief.
Ich kann ja schlecht 1 Jahr warten bis das ganze wieder auftaucht!

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nun könnte es ja sein, daß die Software irgendwelche Kenndaten ins 
InfoMemory schreibt, da mittlerweile Quark drinsteht und deshalb die 
Software ins Straucheln gerät ...

von Christian R. (supachris)


Lesenswert?

Also Debuggen ohne Flashen geht auch, mit MSPGCC zum Beispiel, ich glaub 
bei IAR geht das auch, muss man den Haken bei "Download" wegmachen. Dann 
siehst du zumindest den disassemblierten Code. Aber ob das was 
bringt....naja. Wenn du eh keinen Quelltext hast, bringen dir ja auch 
die Programm-Adressen nix.

von Fabio S. (codehamster)


Lesenswert?

ich habe den sourcecode!
Ich habe das Projekt übernommen, sprich nicht selbst geschrieben! 
Desshalb stellt sich für mich das Debuggen etwas schwieriger dar.

Danke für die Tipps!

von Christian R. (supachris)


Lesenswert?

Achso, na dann kannst du ja richtig debuggen. Wo ist dann noch das 
Problem?

von Fabio S. (codehamster)


Lesenswert?

Das ich den Fehler nicht Provozieren kann! Ich weiss nicht mit welcher 
Manipulation den "Fehler" verursacht. Wie rufus meinte:
Es könnte ja sein, daß die Software irgendwelche Kenndaten ins
InfoMemory schreibt, da mittlerweile Quark drinsteht und deshalb die
Software ins Straucheln gerät ...

Da die SW ja 1 Jahr ununterbrochen und ohne Probleme gelaufen ist stellt 
sich mir die Frage, soll ich 1 Jahr daneben stehen und den Debugger 
laufen lassen, bis es wieder passiert? =)

von Christian R. (supachris)


Lesenswert?

Nun ja, ob was ins InfoMem geschrieben wird, ist ja aus dem Quelltext 
ersichtlich.
Ansonsten halt mal Flash-Inhalt mit dem hoffentlich noch vorhandenem 
Binär-File vergleichen. Ich dachte der Fehler tritt jetzt ständig auf?
Wenn ja, wie gesagt, einfach das Flash-Schreiben abstellen und dann 
siehst du ja, wo die Kiste stehen bleibt.....besonders auf das Bit 
achten, das anzeigt, ob der WatchDog angesprungen ist....

von holger (Gast)


Lesenswert?

>Ansonsten halt mal Flash-Inhalt mit dem hoffentlich noch vorhandenem
>Binär-File vergleichen.

Also wenn der Vorgänger gut war, dürfte sich das als
schwierig erweisen den aktuellen Flashinhalt auszulesen.
Wenn ich Geräte ausliefere setze ich vorher die Codeprotection.

>soll ich 1 Jahr daneben stehen und den Debugger
>laufen lassen, bis es wieder passiert? =)

Du hast da ein echt grosses Problem.
Ich möchte jetzt nicht in deiner Haut stecken!

Laufen die Automaten denn wieder wenn du den Chip
komplett neu programmierst?

von Siegmar (Gast)


Lesenswert?

Hallo,
könnte aber auch ein Hardwareproblem sein.
Spannungsversorgung oder Latch up !!
Was für Automaten sind es dann ?
Noch einen schönen Tag
Gruß
Siegmar

von Fabio S. (codehamster)


Lesenswert?

Habe das Problem gefunden!

Danke für eure Hilfreichen Tipps!!!

War ein neues Konfigurationsfile.
Eine Intervallschachtelung die nicht ans Ziel führte!
Konnte den Fehler inzwischen nachvollziehen und beheben!

DANKE!

MFG Fabio

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.