AVR Studio Simulation

OP #1777661
Lesenswert?

Hallo,

ich setze AVR Studio V4.18 ein auf einem meiner Rechner ein. Habe dazu 
das WinAVR installiert um das Programm (in C geschrieben) zu simulieren. 
Beim Compelieren wird auch soweit kein Fehler festgestellt und der gelbe 
Pfeil steht bei der ersten geschweiften Klammer welche die Mainfunktion 
eröffnet. Will ich nun mit F11 weiter auf den nächsten Befehl so springt 
der gelbe Pfeil zum Ende der Mainfunktion (gescheifte Klammer) ohne die 
Befehle scheinbar abzuarbeiten.

Ich habe noch einen anderen Rechner wo AVR Studio V4.10 drauf ist und da 
läuft es wirklich jeden Befehl nacheinander ab.

Was mache ich hier falsch und kann man mir helfen?




Ich hatte auch schon mal an der Optimierung rum gespielt aber bisher 
ohne erfolg im Moment steht es auf -O1 unter den Eigenschaften.

Hier auch mal das Programm (nicht nach dem Sinn fragen ist nur zum 
Test):

#include <avr/io.h>

int main (void)

{

int test,test1,test2;


test1=5;
test2=3;


test=test1+test2;


return (0);


}
#1778370
Lesenswert?

Andreas Meissner schrieb:
> Das verstehe ich jetzt nicht. Der Compiler kann doch nicht einfach die
> Rechenoperation als sinnlos deklarieren ...????

Natürlich kann er.

> oder doch weil es nicht
> weiter verwendet wird ...?

Ganz genau.
Wozu etwas ausrechnen, wenn mit dem Ergebnis nichts passiert?

Wenn du deine Steuererklärung machst, kannst du natürlich auch eine 
Tabelle aller Quadratzahlen von 1 bis 1 Million nebenher ausrechnen. Nur 
interessiert das Finanzamt deine Zusatzaufgabe herzlich wenig. Wenn du 
daher deine Steuererklärung möglichst schnell hinter dich bringen 
willst, bist du gut beraten, diese Fleissaufgabe nicht zu machen.

Von ausserhalb verhält sich dein µC genau gleich, egal ob er was 
ausrechnet oder nicht. Nur gehts schneller, wenn er nichts ausrechnet.


Der Compiler darf optimieren, wie er lustig ist. Einzige Vorgabe: am 
beobachtbaren Verhalten des Programms darf sich nichts verändern. Das 
'beobachtbare Verhalten' definiert sich aber hauptsächlich dadurch, was 
auf Ein/Ausgabe-Kanälen passiert.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren