STM32 Vektoren ins RAM oder FLASH?

OP #2600930
Lesenswert?
• ▲
▼
Hallo zusammen,
Ich benutze den STM32 zusammen mit den Linkerskripten von M. Thomas.

Er lässt dort die Möglichkeit zwischen
1
NVIC_SetVectorTable(NVIC_VectTab_RAM, (uint32_t) &_isr_vectorsram_offs);
und
1
NVIC_SetVectorTable(NVIC_VectTab_FLASH, (uint32_t)&_isr_vectorsflash_offs);

Welche Vor- und Nachteile ergeben sich, wenn die Tabelle im RAM oder 
Flash ist?

Hier im Forum wurde behauptet, dass die IRQ Ausführung bei der Tabelle 
im RAM schneller ist. Das kann ich mir nicht vorstellen.


Danke schon einmal für eure Antworten!
Ich freue mich, wieder etwas Neues zu lernen :)
#2600939
Lesenswert?
• ▲
▼
Florian Micro schrieb:

> Welche Vor- und Nachteile ergeben sich, wenn die Tabelle im RAM oder
> Flash ist?

Üblicherweise hat man sie genau dann im RAM, wenn das ganze Programm 
dort liegt, weil man grad am Debuggen ist und es noch reinpasst.

> Hier im Forum wurde behauptet, dass die IRQ Ausführung bei der Tabelle
> im RAM schneller ist. Das kann ich mir nicht vorstellen.

Das ROM hat ggf. Waitstates. Allerdings meine ich mich zu erinnern, dass 
der ROM-Zugriff parallel zum Stack-Push der Register stattfindet, so 
dass es evtl. keine Rolle spielt.
Gast #2601164
Lesenswert?
• ▲
▼
Florian Micro schrieb:
> Welche Vor- und Nachteile ergeben sich, wenn die Tabelle im RAM oder
> Flash ist?

Wenn sie im Flash liegen kannst du sie zur Laufzeit deines Programmes 
schwer verändern.

Manchmal ist das aber gewünscht.

Oder zur Sicherheit, du hast die Tabelle des Bootloaders im Flash (der 
startet dadurch immer d beim Flashen deiner Applikation die 
Resetvektoren im Flash nicht überschrieben werden) und die Tabelle der 
Applikation im RAM. Der Bootloader wechselt vor dem Starten der 
Applikation die Tabelle von Flash zu RAM.

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.