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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.