ARM - Code aus externem Speicher ausführen

Gast #3515604
Lesenswert?

Moin,

mir ist grade die Frage aufgekommen, ob es möglich ist, mit einem 
ARM-Controller (STM32) von einem externem Speicher Programm-Code 
auszuführen?

Ein Memory Controller (FSMC /FMC) ist ja vorhanden. Oder ist der für das 
Lesen und Speichern von Daten benutzbar? Denn Stack und Heap kann man ja 
wohl darauf auslagern / erweitern. Und da der Controller ja auch Code 
aus dem SRAM ausführen kann sollte das ja vllt. funktionieren. Aber wie 
sieht das mit externem Flash aus? NAND-Flash würde wahrscheinlich nicht 
funktionieren weil der ja nur Seitenweise gelesen werden kann. Wie sieht 
das mit NOR-Flash aus? Der kann ja auch Byteweise gelesen werden.

Hat jemand eine Idee dazu? Würde mich mal interessieren.

Moritz
Gast #3518693
Lesenswert?

Hallo,
also booten solltest du schon noch über den internen Flash. Damit du das 
externe Memory Interface konfigurieren kannst. Aus normalem externen Nor 
Flash geht auch die Programmausführung. Aber nur sehr langsam, weil du 
viele Wait-States brauchst. Der interne Flash ist mit 128 Bit meines 
Wissens angebunden und hat noch einen sehr gut arbeitenden Cache.
Es ist vermutlich besser den Programmcode ins interne Memory zu kopieren 
und dort zu starten. Aber auch das interne SRAM ist langsamer als der 
interne Flash. Weil eben nun mal alles dann auf das SRAM zugreift.
(STM32F4xx)

Gruß Sascha

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren