Memory
MCF51CN128 Reference Manual, Rev. 6
Freescale Semiconductor
4-5
The MCF51CN128 series microcontrollers use an 8-bit peripheral bus. The bus bridge from the ColdFire
system bus to the peripheral bus is capable of serializing 16-bit accesses into two 8-bit accesses and 32-bit
access into four 8-bit accesses. This can be used to speed access to properly aligned peripheral registers.
However, not all peripheral registers are aligned to take advantage of this feature.
CPU accesses to those parts of the memory map marked as reserved in
address reset if CPUCR[ARD] = 0 or an address error exception if CPUCR[ARD] = 1.
The lower 32 KB of flash memory and slave peripherals section of the memory map are most efficiently
accessed using the ColdFire absolute short addressing mode. RAM is most efficiently accessed using the
A5-relative addressing mode (address register indirect with displacement mode).
4.2
Detailed Register Addresses and Bit Assignments
The ColdFire interrupt controller module is mapped in the peripheral space and occupies a 64-byte space
at the upper end of memory. Accordingly, its address decode is defined as
0x(FF)FF_FFC0–0x(FF)FF_FFFF. This 64-byte space includes the program-visible interrupt controller
registers and the space used for interrupt acknowledge (IACK) cycles.
There is a nonvolatile register area consisting of a block of 16 bytes in flash memory at
0x(00)00_0400–0x(00)00_040F. Nonvolatile register locations include:
— NVPROT and NVOPT are loaded into working registers at reset
— An 8-byte backdoor comparison key that optionally allows a user to gain controlled access to
secure memory
Because the nonvolatile register locations are flash memory, they must be erased and programmed like
other flash memory locations.
is a summary of all user-accessible peripheral registers and control bits.
•
Cells that are not associated with named bits are shaded.
•
Shaded cell with zeroes indicates this unused bit always reads as a zero.
•
Shaded cells with dashes indicate unused or reserved bit locations that could read as ones or zeroes.
When writing to these bits, write a zero unless otherwise specified.
•
Reserved registers may read indeterminate values and must not be written.
Table 4-3. Detailed Peripheral Memory Map
Address
Peripheral
Register
Bit 15/7
14/6
13/5
12/4
11/3
10/2
9/1
Bit 8/0
0x(00)C0_0000
RGPIO
RGPIO_DIR
DIR[15:8] (Read/Write)
DIR[7:0] (Read/Write)
0x(00)C0_0002
RGPIO
RGPIO_DATA
DATA[15:8] (Read/Write)
DATA[7:0] (Read/Write)
0x(00)C0_0004
RGPIO
RGPIO_ENB
ENB[15:8] (Read/Write)
ENB[7:0] (Read/Write)
0x(00)C0_0006
RGPIO
RGPIO_CLR
CLR[15:8] (Write only)