MPC5510 Microcontroller Family Reference Manual, Rev. 1
Freescale Semiconductor
16-1
Preliminary
Chapter 16
Miscellaneous Control Module (MCM)
16.1
Introduction
The miscellaneous control module (MCM) provides control functions regarding a software watchdog
timer (SWT) and information on memory errors reported by error-correcting codes (ECC).
The MCM provides a set of registers that configure and report ECC errors for the device including accesses
to RAM and flash memory. The application may configure the device for the types of memory errors to be
reported, and then query a set of read-only status and information registers to identify any errors that have
been signaled.
There are two types of ECC errors: correctable and non-correctable. A correctable ECC error is generated
when only one bit is wrong in a 64-bit doubleword. In this case, it is corrected automatically by hardware
and no flags or other indication is set that the error occurred. A non-correctable ECC error is generated
when two or more bits in a 64-bit doubleword are incorrect. Non-correctable ECC errors cause an
interrupt, and if enabled, additional error details are available in the MCM.
Error correction is implemented on 64 bits of data at a time, using eight bits for ECC for every 64-bit
doubleword. ECC is checked on reads and calculated on writes per the following:
1. 64 bits containing the desired byte / halfword / word or doubleword in memory is read and ECC
checked.
2. If the access is a write, then
— The new byte / halfword / word / doubleword is merged into the 64 bits.
— New ECC bits are calculated.
— The 64 bits and the new ECC bits are written back.
NOTE
Before using the SRAM, it must be initialized, even if the application does
not use ECC reporting, see
Chapter 21, “Internal Static RAM (SRAM)
” for
more information.
16.1.1
Features
The MCM has these major features:
•
Software watchdog timer (SWT) with programmable interrupt response
— The default state after reset of the SWT is enabled
— The SWT count can be optionally held when system debug is enabled