Warmstart STM32F0 unter IAR

OP (Firma: LCD-Solution SAS) #7532199
Lesenswert?
• ▲
▼

Hallo Experten,

wenn der WatchDog anschlägt wird ein Reset ausgeführt. Dann ist das Display (per Initialisierung) schwarz. Ich möchte feststellen, ob ein POR (Kaltstart) oder ein WDR (Warmstart) ausgeführt wird und entsprechend den Display Inhalt nicht initialisieren.

Problem: Der IAR Compiler manipuliert das RAM bevor mein Programm einsetzt. Dann ist der aktuelle Displayinhalt weg. Wie kann ich in der IAR-IDE dieses Aufrufen der IAR-Assemblerroutine ausschalten?

freundlichst,

Uwe

Gast #7532343
Lesenswert?
• ▲
▼

Moin,

meinst Du mit "manipuliert das RAM" die Initialisierung der Variablen durch den Startup-Code?

Du kannst beispielsweise den Speicherbereich, in dem der Framebuffer liegt im *.icf als "do not initialize" spezifizieren und dann ist es komplett Dir überlassen, wie da sinnvolle Daten rein kommen...

Mehr Details liefert der C/C++ Development Guide, wenn Du nach "do not initialize directive" suchst.

Gruß, Michael

#7532846
Lesenswert?
• ▲
▼

Uwe W. schrieb:

Display (per Initialisierung) schwarz. Ich möchte feststellen, ob ein POR (Kaltstart) oder ein WDR (Warmstart) ausgeführt wird und

Problem: Der IAR Compiler manipuliert das RAM bevor mein Programm einsetzt. Dann ist der aktuelle Displayinhalt weg. Wie kann ich in der

Der Compiler "manipuliert" da nichts, sondern der Startup-Code, der i. d. R. automatisch dazu gelinkt wird, löscht halt Teile des RAM. Soll ja so passieren.

Wenn man das nicht will, wertet man im selbst geschriebenen bzw. zumindest modifiziertem Startup-Code die Flags im RCC_CSR (dazu sind die auch da) aus und überspringt halt ggf. das Löschen.

Oder man legt den Display-Buffer in den nicht-initialisieren RAM-Teil und löscht den nur bei Bedarf selbst.

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.