-
-
Erfahrener Benutzer
Roboter Genie
Cortex M3 Programcounter Adressen
Hallo zusammen,
ich arbeite mit der IAR Embedded Workbench und da ist mir eine Unstimmigkeit aufgefallen. Vermutlich habe ich wohl irgend etwas an der Prozessorarchitektur nicht verstanden.
Dazu habe ich mal einen Screenshoot angefügt.
Im Memory Fenster erscheint die Adresse B5 03 00 00 also die Adresse 0x03B5
Im Dissassembler Listing steht bei __iar_programm_start die Adresse 0x3B4
Im Mapfile steht bei __iar_programm_start die Adresse 0x000003B5
an welcher Adresse steht denn nun der Code ??
Danke im Voraus für Eure Bemühungen
Siro
-
Hallo
Lies einmal das Kapitel über die Interrupt vector table im Datenblatt durch. Das hilft dir glaubich weiter.
mfg
-
Erfahrener Benutzer
Roboter Genie
Diese Antwort hat mir nicht wirklich weitergeholfen....
Habe aber trotzdem eine Erklärung dafür gefunden:
Auf Seite 684 im Datenblatt UM10360 steht folgendes:
Remark: Bit[0] of any address you write to the PC with a BX, BLX, LDM, LDR, or POP instruction must be 1 for correct execution, because this bit indicates the required instruction set,
and the Cortex-M3 processor only supports Thumb instructions.
Deshalb werden in der Interrupt-Vectoren-Tabelle alle Adresesen +1 eingetragen.
mfg. Siro
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen