
CALRAM Operation
MPC561/MPC563 Reference Manual, Rev. 1.2
22-6
Freescale Semiconductor
22.4.5
Stop Operation
The low power stop mode for this module is entered by setting the disable bit (DIS) in the CRAMMCR
register. Reads from and writes to the array during this mode will generate an error.
When the disable bit (DIS) is cleared, the module returns to normal function.
22.4.6
Overlay Mode Operation
For a microcontroller used as a controller for an engine (or other electromechanical device), various
parameters stored in the Flash memory may need to be changed in order to properly tune (calibrate) the
engine. Because Flash memory may not be readily programmed during normal operation of an embedded
controller, portions of the CALRAM array can be overlayed onto the U-bus Flash memory. By allowing
the CALRAM module to overlay portions of Flash memory, parameters normally stored in the Flash may
be tweaked and changed with a development tool both during normal operation and prior to programming
a final, more precise version of the Flash memory.
The overlay is for read-only data and does not affect instruction fetches from the Flash. The data for any
L-bus address which falls in the overlay region of the U-bus Flash will be driven by the CALRAM on the
L-bus. The CALRAM also indicates to the L2U to block the data from the Flash to be driven onto the
L-bus. As far as the RCPU core is concerned, the timing of data coming from the CALRAM appears to be
the same as that from the Flash.
22.4.6.1
Overlay Mode Configuration
Each CALRAM module contains eight overlay regions, each of which is 512 bytes long as shown in
Figure 22-4. All overlay regions of a module are contiguous and each starts at the least significant address
of the region and can increment all the way up to 512 bytes as shown in
Figure 22-5. As described in
registers allow the programming of the base addresses RBA[11:29] of the U-bus Flash regions and the
RGN_SIZE[0:4] to be overlaid. Note that each region can also be individually disabled by writing 0000 to
RGN_SIZE[0:3]. If the programmed base address is not naturally aligned with respect to the RGN_SIZE
field, the least significant bits of the base address fields can be considered 0’s in order to make the starting
address naturally aligned. In an RBA register, RGN_SIZE[0:3] ={0101} select the size to be 128 bytes,
and even if CRAM_RBAx [25:29] are not all 0’s, they will be considered as 0’s so that the address
becomes 128-byte naturally aligned.