warum verwendet man Remap

OP #674625
Lesenswert?

Hallo,

warum wird häufig ein Remap vom RAM und Flash etc. bei einem µController 
vorgenommen.

Internal Boot ROM location before remap: 0x00000000
Internal SRAM location before remap: 0x00020000

anschließend nach dem Remap startet der RAM bei der Adresse 0 und der 
ROM-Bereich bei der Adresse 0x01000000


Gruß
Tina
Gast #674649
Lesenswert?

Weil der RM9200 immer bei Adress 0 anfängt zu starten. Vor dem Remap 
liegt dort das Boot-ROM (USB, UART, Dataflash...). Wenn damit ein 
Programm ins SRAM geladen wurde, wird ein Remap gemacht, SRAM auf 
Adresse 0 gelegt und Programm Counter auf 0 und starten. Dadurch wird 
dann das Programm gestartet. Damit kann man z.B. das Programm für 
Adresse 0 Linken und später in ein NOR-Flash machen und ohne Remap bzw. 
Bootloader arbeiten.

Ich verstehe aber nicht was daran unverständlich ist.. wie sollte man es 
sonst machen. Fast jeder µC mit integriertem Boot ROM macht das so.
OP #674664
Lesenswert?

>Ich verstehe aber nicht was daran unverständlich ist.. wie sollte man es
>sonst machen. Fast jeder µC mit integriertem Boot ROM macht das so.

vielen dank für die antwort - unverständlich wars nur für mich, weil ich 
nicht so weit gedacht habe... aber so macht das natürlich sinn...

Gruß
Tina
#674666
Lesenswert?

opacer wrote:

> Fast jeder µC mit integriertem Boot ROM macht das so.

Nöö.

Die 8051 oder AVR legen den Bootloader hinter die Applikation ans Ende 
des Flash.
Dann kann man konfigurieren, ob ein Reset an 0x0000 oder am Bootvektor 
startet.
Beim 8051 läßt sich auch durch eine Jumper von PSEN nach GND ein 
Bootloaderstart erzwingen.

Remappt wird da nie was.


Peter

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