1.1 ICM with ECC error injection Application Example
This example shows how to configure the ICM and the different ECC controllers to handle and to correct the ECC errors. This example use the ECC test mode to inject ECC errors in the memories monitored by the ICM.
Building The Application
The parent folder for all the MPLABX IDE projects for this application is given below:
Application Path : apps\icm_with_ecc_error_injection\firmware
To build the application, refer to the table below and open the appropriate project file in MPLABX IDE.
Project Name | Description |
---|---|
sam_rh707_ek.X | SAM RH707 Evaluation Kit board |
MPLAB Harmony Configurations
Refer to the MHC project graph for the components used and the respective configuration options.
Hardware Setup
Project sam_rh707_ek.X
Hardware Used
SAM RH707 Evaluation Kit
Hardware Setup
Connect the USB port (USB DEBUG) on the board to the computer using a micro USB cable.
If the board embedded debugger is not used, connect the debugger probe on DEBUG connector (J5).
Running The Application
Open the Terminal application (Ex.:Tera term) on the computer.
Connect to the Virtual COM port and configure the serial settings as follows:
Baud : 115200
Data : 8 Bits
Parity : None
Stop : 1 Bit
Flow Control : None
Build and Program the application using the MPLABX IDE.
See the following message in the console.
----------------------------------------------------------- ICM with ECC error injection example ----------------------------------------------------------- Enable ICM region(0-3)... ICM monitoring started for region (0-3)... Press [Push Button 0] to change ecc error injection memory target(ITCM, DTCM, FlexRAM, external SRAM) Press [Push Button 1] to inject fixable ecc error Press [Push Button 2] to inject unfixable ecc error Current ECC error injection is selected for memory : ITCM
By pressing the button you can change the memory area where ECC error are injected. When an error is injected, it display the interrupts that occurs and the ICM region mismatch if any.
For example an error injection in ITCM:
-> Generate fixable error on region ITCM at index : 0 1 new FIX interrupt on region ITCM