3.2 Integrity Check Monitor (ICM)
The ICM on the PIC32CM JH01 family of devices is a DMA controller designed to perform hash calculations over multiple memory regions. It is particularly useful in applications where data integrity is critical, such as automotive, industrial, and medical systems. It is responsible for performing Cyclic Redundancy Checks (CRC) on specified memory regions to detect any corruption or unintended modifications. It can be used to verify the integrity of code and data stored in Flash, RAM, or other memory areas.
The following are the key features of ICM on the PIC32CM JH01 family of devices:
- CRC calculation: Calculates CRC values for specified memory regions using different polynomial configurations. This helps in detecting errors in the memory content.
- Multiple regions: Monitors multiple memory regions simultaneously. Each region can be configured with its own start address, size, and CRC polynomial.
- Automatic monitoring: Configured to automatically perform integrity checks at regular intervals or upon specific events, ensuring continuous monitoring of memory integrity.
- Interrupts and events: Generates interrupts or events when an integrity check fails, allowing the system to take corrective actions, such as resetting the microcontroller or switching to a safe state.
- Error detection: Detects single-bit and multi-bit errors in the monitored memory regions, providing a high level of reliability for critical applications.