Forum: Mikrocontroller und Digitale Elektronik Probleme beim Debuggen mit AVR mkII


von Micha (Gast)


Lesenswert?

Hallo Leute,

habe Probleme beim Debuggen mit AVRStudio5 und zwar damit, die Inhalte 
von Variablen auszulesen. Das geht weder mit MouseOver noch mit einer 
Watch.
Lustiger Weise funktioniert das Ganze sobald ich die Variable mit static 
deklariere:

So funktioniert es nicht:
1
void fcn(U16 Prefix,U32 Frequency)
2
{
3
  U32 Freq = FrequencyInput(Frequency);
4
  
5
  /* commands */
6
  
7
  return;
8
}

So funktioniert es:

1
static U32 Freq;
2
void fcn(U16 Prefix,U32 Frequency)
3
{
4
  Freq = FrequencyInput(Frequency);
5
  
6
  /* commands */
7
  
8
  return;
9
}

Weiß jemand warum das so ist?
An der U32 Wortbreite liegt es nicht, es hat das selbe Verhalten mit U8.

Würde mich über eine Antwort freuen.
schöne Grüße

von Ralf G. (ralg)


Lesenswert?

Micha schrieb:
> Weiß jemand warum das so ist?

Je nachdem, was an Optimierung noch rauszuholen ist, werden temporäre 
Variablen in Registern gehalten.

Tante Edit meint noch:

Micha schrieb:
> void fcn(U16 Prefix,U32 Frequency)
> {
>   U32 Freq = FrequencyInput(Frequency);
>
>   /* commands */
>
>   return;
> }

Sowas fliegt, z.B., komplett raus, wenn Freq nicht weiter verwendet 
wird.

von Ralf G. (ralg)


Lesenswert?

Micha schrieb:
> habe Probleme beim Debuggen mit AVRStudio5

Ähm - und was hat das mit mkII zu tun? Der kann gar kein Debugging!

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.