MC68336/376
MASKED ROM MODULE
MOTOROLA
USER’S MANUAL
Rev. 15 Oct 2000
7-1
SECTION 7
MASKED ROM MODULE
The masked ROM module (MRM) consists of a fixed-location control register block
and an 8-Kbyte mask-programmed read-only memory array that can be mapped to
any 8-Kbyte boundary in the system memory map. The MRM can be programmed to
insert wait states to accommodate migration from slow external development memory.
Access time depends upon the number of wait states specified, but can be as fast as
two bus cycles. The MRM can be used for program accesses only, or for program and
data accesses. Data can be read in bytes, words or long words. The MRM can be con-
figured to support system bootstrap during reset.
7.1 MRM Register Block
There are three MRM control registers: the masked ROM module configuration regis-
ter (MRMCR), and the ROM array base address registers (ROMBAH and ROMBAL).
In addition, the MRM register block contains signature registers (SIGHI and SIGLO),
and ROM bootstrap words (ROMBS[0:3]).
The module mapping bit (MM) in the SIM configuration register defines the most
significant bit (ADDR23) of the IMB address for each MC68336/376 module. 5.2.1 Module Mapping contains information about how the state of MM affects the system.
The MRM control register block consists of 32 bytes, but not all locations are imple-
mented. Unimplemented register addresses are read as zeros, and writes have no
bit/field definitions.
7.2 MRM Array Address Mapping
Base address registers ROMBAH and ROMBAL are used to specify the ROM array
base address in the memory map. Although the base address contained in ROMBAH
and ROMBAL is mask-programmed, these registers can be written after reset to
change the default array address if the base address lock bit (LOCK in MRMCR) is not
masked to a value of one.
The MRM array can be mapped to any 8-Kbyte boundary in the memory map, but must
not overlap other module control registers (overlap makes the registers inaccessible).
If the array overlaps the MRM register block, addresses in the block are accessed
instead of the corresponding array addresses.
ROMBAH and ROMBAL can only be written while the ROM is in low-power stop mode
(MRMCR STOP = 1) and the base address lock (MRMCR LOCK = 0) is disabled.
LOCK can be written once only to a value of one. This prevents accidental remapping
of the array.