Forum: Mikrocontroller und Digitale Elektronik ARM Cortex M3 - Custom Bootlader / Externer Programmspeicher


von Alex (Gast)


Lesenswert?

Hallo,

ich bin neu auf dem Gebiet der ARM Entwicklung. Ich arbeite mich gerade 
durch den Berg an Informationen die da auf einen Neuankömmling 
einstürzen für die STM32.

Folgende Frage stellt sich mir:
Ich würde gerne mein gesamtes Programm auf einem externen Speicher 
(FRAM) auslagern. Prinzipiell ist das sicherlich kein Problem. Ich würde 
aber ebend gerne -gänzlich- auf den internen Speicher verzichten. Also 
die Interruptvektoren und auch den Bootloader nicht intern laufen 
lassen.

Ich habe den Eindruck das das prinzipiell nicht möglich ist? Ich habe 
auch die verschiedenen Boot Modi des STM32 gefunden - jedoch keine 
Möglichkeit den Bootloader selbst zu programmieren. Ist das möglich?

von Jim M. (turboj)


Lesenswert?

> gesamtes Programm auf einem externen Speicher

Der externe Speicher ist bei den meisten Cortex M3 zu langsam, so dass 
es zu Wartezyklen kommen kann wenn man von dort Code ausführt.

Ohne besondere Gründe würde ich bei STM32 keinen externen Speicher 
benutzen - das ist kein Atmel, es gibt ausreichend RAM und Flash. 
Übrigens kann man Code beim Cortex M3 auch aus dem internen RAM 
ausführen, wenn man den vorher dort irgendwie rein bekommen hat.

> Interruptvektoren und auch den Bootloader nicht intern

IIRC geht das nicht, weil der mögliche Addressbereich für VTOR 
(=Addresse der Interrupt Vektoren) nur internen RAM und Flash umfasst.

Der Bootloader liegt im nicht beschreibbaren ROM, kann also nicht 
geändert werden - aber man kann sich seinen eingenen Bootloader ins 
Flash schreiben.

von Lothar (Gast)


Lesenswert?

Alex schrieb:
> gesamtes Programm auf einem externen Speicher

Selbstverständlich ist das möglich, es muss ein ARM mit External Memory 
Controller (EMC) gewählt werden, z.B. NXP LPC1788:

http://www.nxp.com/products/microcontrollers/cortex_m3/lpc1700/LPC1788FET208.html

> Interruptvektoren und auch den Bootloader nicht intern

Auch das ist mit EMC möglich, sofern wie geplant nichtflüchtiger 
Speicher verwendet wird.

von Lutz (Gast)


Lesenswert?

Alex schrieb:
> Ich würde gerne mein gesamtes Programm auf einem externen Speicher
> (FRAM) auslagern.

Warum das? Hört sich auch sehr teuer an.

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.