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
Tina Berger wrote: > warum wird häufig ein Remap vom RAM und Flash etc. bei einem µController > vorgenommen. Häufig ??? Die meisten Mikrocontroller (8051, AVR, MSP430, Z8, PIC) machen es nicht. Vielleicht solltest Du mal sagen, welchen speziellen Mikrocontroller Du meinst. Peter
in meinem Fall meine ich den AT91RM9200 - aber ich wollte eher wissen warum man das macht nicht wie es bei diesem Controller genau aussieht. Tina
Debuggen geht im RAM erheblich einfacher, weil sich darin beliebig Breakpoints setzen lassen. Die Interrupt/Exception-Vektoren liegen bei ARM aber fest auf 0.
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.
>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
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
@Tina Das steht aber auch relativ gut im Datenblatt erklärt. @Peter Welcher 8051/AVR hat den ein festes Boot-ROM?
opacer wrote: > Welcher 8051/AVR hat den ein festes Boot-ROM? Z.B. Atmel (AT89C51RD2), NXP (P89C51RD2). Bei den AVRs muß man nen Bootloader erst (hinten) reinbrennen. Peter
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.