Forum: Compiler & IDEs compileroptimierung?


von tsun (Gast)


Angehängte Dateien:

Lesenswert?

hallo zusammen!

ich hab mir ein paar routinen fuer mein display mit t6963c controller
geschrieben (siehe anhang).
ohne optimierung laeuft alles prima, doch mit optimierung eben
nicht...
tja, die frage ist wo der fehler liegt?

ich hoffe es kann mir jemand helfen.
danke,
tsun

von Chris (Gast)


Lesenswert?

Tut mir leid, aber deinen Code wird sich wohl niemand anschauen.

Du zeigst null Eigeninitiative.
Beschreib den Fehler genauer (Tipp: Niemand kann deine Gedanken lesen).
Dann grenz den Fehler bitte etwas ein (mit einer genauen
Fehlerbeschreibung sollte das in Eigenarbeit möglich sein).
Die relevanten Codeausschnitte postest du. Dann wirst du dich wundern,
wie schnell sinnvolle Antworten kommen.

Im Zweifelsfall lies bitte:
http://www.lugbz.org/documents/smart-questions_de.html

von tsun (Gast)


Lesenswert?

hast recht, eine genauere fehlerbeschreibung waere angebracht.
der fehler tritt schon in lcd_init() auf.
ich habe den verdacht, dass ich in lcd_reset() (oder lcd_read_status())
ein volatile vergessen habe, allerdings kann ich den fehler nicht
finden.
wie gesagt, ohne optimierung laeuft ja alle perfekt.

hier mal der reset-codeausschnitt:

void lcd_reset(void)

{

  volatile uint16_t i;



  cbi(LCD_C_PORT, LCD_RESET);



  for(i=0; i<5000; i++)

  {

    asm volatile("nop");

  }



  sbi(LCD_C_PORT, LCD_RESET);

}

von Marc (Gast)


Lesenswert?

Kannst Du bitte noch die Compilerfehler mitschicken, dann wird es
einfacher.

Gruss
Marc

von tsun (Gast)


Lesenswert?

compilerfehler gibt es keine.
in meinem testprogramm steht folgendes:

...
lcd_init();
lcd_set_address_pointer(0x00, 0x00);
lcd_print_string("blub");
...

das funktioniert ohne optimierung ja auch alles wunderbar, nur mit eben
nicht...

von prx (Gast)


Lesenswert?

Mal nachgerechnet ob das Delay mit Optimierung noch ausreicht?
Delay-Loops lieber komplett innerhalb von asm packen - eben deshalb.

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.