STM32L Flash abschalten bei Low Power Sleep Mode

Gast #2985896
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich möchte gerne den STM32L151 in den Low Power Sleep Modus schalten 
(WFI). Um mehr Strom zu sparen soll vorher der Flash abgeschaltet 
werden. Soweit kein Problem, jedoch muss die ISR die zum INT gehört 
vorher im RAM stehen, ebenso muss der NVIC auch den Vector Table im RAM 
stehen haben und darauf zugreifen können. Beides ist mir noch nicht 
wirklich klar wie ich es technisch umsetzen muss. Kann man das Laden des 
VT und der ISR auch möglicherweise dynamisch zur Laufzeit durchführen?

Gruss
André
#2986217
Lesenswert?
• ▲
▼
> ISR die zum INT gehört vorher im RAM stehen

Das erforder z.B. beim GCC etwas Linker Skript Magie. Beispiele habe ich 
IIRC hier im Forum schon gesehen.

> Vector Table im RAM

Such mal nach VTOR. Das ist das Register - IIRC im NVIC - welches die 
Addresse der Vector Table enthält. Kann man umsetzen, allerdings ist 
Alignment zu beachten, das deutlich gröber als 4 Byte ist - IIRC 256 
oder 512 Byte.

> Low Power Sleep Modus

Schau aber mal im Manual nach, ob der den Flash nicht automagisch mit 
aufweckt.
Gast #2987720
Lesenswert?
• ▲
▼
Erst mal vielen Dank für die Antwort. Ich denke die ISR ins RAM zu 
verschieben geht bei GCC mit void __attribute__((.data)) 
ISR_Handler(void). Man muss jetzt irgendwie noch den VT ins RAM kopieren 
und die VT Adresse wohl wie du sagst im entsprechenden Register setzen. 
Ich werde das die Tage mal ausprobieren. Selbst wenn der Flash nicht 
autom. eingeschaltet werden sollte kann man das ja auch gut im ISR 
bewerkstelligen. Ich frage mich nur noch ob man die Funktion die den 
__WFI aufruft auch im RAM ausgeführt werden muss?

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.