| |||
| Home > ISSM Configuration Reference > Cortex-M3 model configuration > Cortex-M3 peripheral register mapping | |||
Table B.15 shows the peripheral register mapping for the Cortex-M3 model (see Figure B.3). The functional peripherals are three Timers and one UART. These peripherals are described in the following sections.
To access the peripheral registers, select the corresponding tab in the Registers view.
Table B.15. Cortex-M3 peripheral register mapping
| Address | Peripheral |
|---|---|
0x40018000 - 0x40018FFF | Peripheral Bus out (UART) |
0x40050000 - 0x4005FFFF | Peripheral Bus out (Timer) |
The rest of the peripheral memory space is unimplemented.
Table B.16 shows the Timer registers of the Cortex-M3 model.
Table B.16. Cortex-M3 Timer registers
| Offset | Register |
|---|---|
0x000 | TimerLoad0 |
0x004 | TimerValue0 |
0x008 | TimerControl0 |
0x00C | TimerIntClr0 |
0x010 | TimerRIS0 |
0x014 | TimerMIS0 |
0x018 | TimerBGLoad0 |
0x100 | TimerLoad1 |
0x104 | TimerValue1 |
0x108 | TimerControl1 |
0x10C | TimerIntClr1 |
0x110 | TimerRIS1 |
0x114 | TimerMIS1 |
0x118 | TimerBGLoad1 |
0x200 | TimerLoad2 |
0x204 | TimerValue2 |
0x208 | TimerControl2 |
0x20C | TimerIntClr2 |
0x210 | TimerRIS2 |
0x214 | TimerMIS2 |
0x218 | TimerBGLoad2 |
0xFE0 | Timer PeriphIDO |
0xFE4 | Timer PeriphID1 |
0xFE8 | Timer PeriphID2 |
0xFEC | Timer PeriphID3 |
0xFF0 | Timer PCellIDO |
0xFF4 | Timer PCellID1 |
0xFF8 | Timer PCellID2 |
0xFFC | Timer PCellID3 |
The three timers count down by only one tick for each instruction executed. The timers are mapped to the same memory locations as the timers on the Integrator™/CP development board.
The NVIC timer counts one tick per notional cycle. This differs
from the other per instruction timers, for example, for LDM and STM instructions.
The Timer PCellID and nTimer
PeripID registers are not
supported, but this does not affect the operation of the peripheral
because it conforms to the ARM Generic Peripheral specification
for Timers.n
Table B.17 shows the UART registers of the Cortex-M3 model.
Table B.17. Cortex-M3 UART registers
| Offset | Register |
|---|---|
0x000 | UARTDR |
0x004 | UARTRSR_ECR |
0x018 | UARTFR |
0x020 | UARTILPR |
0x024 | UARTIBRD |
0x028 | UARTFBRD |
0x02C | UARTLCR_H |
0x030 | UARTCR |
0x034 | UARTIFLS |
0x038 | UARTIMSC |
0x03C | UARTRIS |
0x040 | UARTMIS |
0x044 | UARTICR |
0x048 | UARTDMACR |
0xFE0 | UARTPeriphID0 |
0xFE4 | UARTPeriphID1 |
0xFE8 | UARTPeriphID2 |
0xFEC | UARTPeriphID3 |
0xFF0 | UARTPCellID0 |
0xFF4 | UARTPCellID1 |
0xFF8 | UARTPCellID2 |
0xFFC | UARTPCellID3 |
The Cortex-M3 models one serial port that can be used for I/O. This is modeled through a telnet window, which opens automatically on the first read/write operation from the UART after it has been initialized.
The serial port is mapped to the same memory location as the UART on the Integrator/CP development board.
The default behavior for the telnet protocol is line mode. This means that characters typed into the telnet window are not seen in the model until you press Enter. To change this behavior type the telnet escape character, usually Ctrl+], and then enter the mode character. Doing this might disable local echo of the characters entered in the telnet window.
Table B.18 shows the supported interrupts for the Cortex-M3 model.
the following in the RealView Debugger User Guide: