MSPGCC: Interessantes Verhalten

OP Persönliche Seite #1137552
Moin!

Gerade bin ich mit dem MSPGCC rumzumachen. Ich habe aber ein Problem bei 
dem
ich nicht weiterkomme - und langsam zweifle ich an meinen Fähigkeiten.
Folgendes (gestutzt):
1
volatile uint16_t   uiStartup   = 0;
2
volatile uint16_t  uiStartupDone   = 0;
3

4
int
5
main(void)
6
{
7
  uiStartup = 0;
8
  uiStartupDone = 0;
9

10
  InitTimer1A2();
11

12
  WRITE_SR( READ_SR | GIE );
13
  StartTimer1A2();
14

15
  while( uiStartup < STARTUP_DECOUPLING_CAPS_COUNT );
16

17
  StopTimer1A2();
18
  ClearTimer1A2();
19
  uiStartup = 0;
20
  // ...
21
  StartTimer1A2();
22

23
  while( uiStartup < STARTUP_CHARGEPUMP_CAPS_COUNT );
24

25
  StopTimer1A2();
26
  ClearTimer1A2();
27
  uiStartupDone = 1;
28
  // ...
29
  StartTimer1A2();
30

31
  // Power down to LPM3.
32
  WRITE_SR( (READ_SR & ~(OSCOFF | CPUOFF | SCG0 | SCG1)) | (LPM3_bits)
33
);
34

35
  while( true );
36
  return( 0 );
37
}
38

39
interrupt(TIMER1_A0_VECTOR) TA1CCR0InterruptVector(void)
40
{
41
  if( uiStartupDone == 0 )
42
  {
43
    uiStartup++;
44
  }
45
  else
46
  {
47
    // Hierhin kommt das Programm nie 
48
    // weil uiStartupDone immer 0 ist.
49
  }
50
}

Das Programm setzt uiStartupDone niemals auf 1. Es sieht so aus als 
wenn die Optimierung zuschlägt (-O3). Allerdings ändert sich das 
Verhalten nicht wenn ich die Optimierung ausschalte. DIe letzte 
Anweisung (LPM3) wird erreicht! Habe ich Tomaten auf den Augen?
OP Persönliche Seite #1137635
Kommando zurück! Es war kein Fehler im Programm, Eclipse hat nicht immer 
die aktuelle ELF-Datei geflasht. Ich kann an dieser Stelle nur davon 
abraten, im der Eclipse Debug-Konfiguration im Reiter "Arguments" 
irgendwas zu übergeben (also nicht so wie hier [1] beschrieben) - Fehler 
werden nicht quittiert. Statt dessen sollte man unter "Debugger" ein 
"GDB command file" übergeben...

[1] http://msp430.techcontent.net/eclipse.htm
#1137687
Ja, Eclipse ist da bissl eigen. Auch das Verwechseln von \ und / im 
File-Namen für das Elf File bringt interessante Effekte. Ebenso, wenn 
man bei den aktuellen msp430-gdb Versionen diese ganze "Set 
remotesize..." usw. mit in die ini schreibt. Da sucht man sich zu Tode, 
wieso es nicht klappt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.