Forum: Mikrocontroller und Digitale Elektronik MSP430 Fehlermeldung "MSP430: Warning: CPU is OFF and further debugging is not possible."


von Stefan (Gast)


Lesenswert?

Hallo Leute!

Ich habe nicht viel Ahnung von Mikrocontroller-Progeammierung,aber 
selbst ein Hello World bekomme ich nicht zum laufen. Ich verwende Code 
Composer Studio 4.1. Wenn ich in den Debug-Modus gehe um das Programm zu 
testen kommt immer folgende Fehlermeldung:

MSP430: Warning: CPU is OFF and further debugging is not possible.
MSP430: Program loaded. Code Size - Text: 4146 bytes  Data: 164 bytes

Hier der Sourcecode:
1
#include <msp430x54x.h>
2
#include <stdio.h>
3
4
int main(void)
5
{
6
    printf("Hallo Welt!\n");
7
    return 0;
8
}

Hat jemand eine Idee?

Vielen Dank!

Stefan

von Dennis (Gast)


Lesenswert?

Stefan schrieb:
> int main(void)
> {
>     printf("Hallo Welt!\n");
>     return 0;
> }

Willst du uns verarschen?

von Tobias K. (kurzschluss81)


Lesenswert?

unabhängig vom inhalt der mainroutine

diese fehlermeldung bekomme ich auch
aber debuggen geht trotzdem

von Achim B. (achimb)


Lesenswert?

Hi

auch wenn dein Programm ziemlich komisch fuer ein Mikrocontroller 
aussieht
hier die Erklaerung im TI Forum
http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/p/42042/146471.aspx#146471

Achim

von F.J. (Gast)


Lesenswert?

Ich hab da auch so ein ähnliches Problem:
1
#include <msp430x54x.h>
2
#include <stdio.h>
3
4
#define TRUE  1
5
#define FALSE 0
6
7
void print_money (uint16_t geldwert);
8
9
int main(void)
10
{
11
    do
12
    {
13
      print_money (100EUR);
14
    } while (noch_nicht_reich_genug == TRUE);
15
16
    return 0;
17
}
18
19
void print_money (uint16_t geldwert)
20
{
21
  P1OUT = geldwert;
22
}

Einer ne Idee? Das funktioniert auch nicht so richtig...

von F.J. (Gast)


Lesenswert?

Oh, vielleicht weil ich den stdint.h nicht drin hab ???!!!

von mui (Gast)


Lesenswert?

watchdog disabled?

von F.J. (Gast)


Lesenswert?

Die Kohle fließt immernoch nicht...

von Frank K. (fchk)


Lesenswert?

Deine erste Tat ist es, den Watchdog auszuschalten. Der schlägt sonst 
zu.

Mach mal:
1
#include <io430.h>
2
3
void main(void)
4
{
5
  WDTCTL = WDTPW + WDTHOLD; // immer als ALLERERSTES, es sei denn Du konfigurierst den anders
6
7
  // hier Deine Tests
8
9
  while(1); // damit fängst Du den Prozessor ab
10
}

Dann sollte das funktionieren.

fchk

von F.J. (Gast)


Lesenswert?

Auch nicht, da kommen grad ma 1 Euro-Münzen raus, aber ich übergebe 
"100EUR" an die Funktion!

Und meine "noch_nicht_reich_genug"-Variable ist auch TRUE

von Stefan (Gast)


Lesenswert?

F.J. schrieb:
> Auch nicht, da kommen grad ma 1 Euro-Münzen raus, aber ich übergebe
> "100EUR" an die Funktion!
>
> Und meine "noch_nicht_reich_genug"-Variable ist auch TRUE

Ist doch klar!
Durch das neue Spar-Paket der Bundesregierung sind alle Compiler ab 
sofort angehalten, "noch_nicht_reich_genug"-Variablen weg zu optimieren 
und derartige Schleifen sofort im Keim zu ersticken.
Da hilft auch kein volatile o.ä. ... ;-)

von F.J. (Gast)


Lesenswert?

Stefan schrieb:
> "noch_nicht_reich_genug"-Variablen weg zu optimieren

Scheisse, echt? Gibts n Crack dafür?

von Klaus (Gast)


Lesenswert?

F.J. schrieb:
> Gibts n Crack dafür?

Ja, gibt es. Mit Crack kann man auch reich werden.

von Stefan (Gast)


Lesenswert?

Danke Achim!

Das hat geholfen. Google hat den Eintrag bei TI nicht gefunden.

Viele Grüße

Stefan

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.