I failed to inject the document in accordance with the document MPC5744P_1b + 2b_flash_flash_by_utest_area_read-v0_0-ghs614, but the results were not correct.The results are shown as g_bl_Bf_SinglebitECCerror_DMS = 0, g_bl_Bf_RCCU_1_DMS = 1.I don't know what's wrong.Looking forward to your reply
Original Attachment has been moved to: MPC5744P_1b+2b_FLASH_ECC_error_by_UTEST_area_read-v0_0-GHS614.zip
Hi,
To inject ECC fault on this processor is quite simple.
Just read UTEST flash area, there is already programmed ECC single and double bit error.
Peter
void Inject_2bit_FLASH_ECC_error_by_UTEST_read(void)
{
register uint32_t test_read = 0;
// ECC is checked and non-correctable error found
test_read = *(unsigned int*)0x00400060;
}
void Inject_1bit_FLASH_ECC_error_by_UTEST_read(void)
{
register uint32_t test_read = 0;
/* Enable single bit ECC error reporting in flash controller */
// Enable UTest mode
C55FMC.UT0.R = 0xF9F99999;
// Enable single bit error correction
C55FMC.UT0.B.SBCE = 1;
// Finish the UTest mode by writing UT0[UTE] with 0.
C55FMC.UT0.B.UTE = 0;
// ECC is checked and non-correctable error found
test_read = *(unsigned int*)0x00400040;
}
I have read UTEST flash area;and then,I added the above program, and then observed the result in the figure above, g_bl_Bf_SinglebitECCerror_DMS = 0, g_bl_Bf_RCCU_1_DMS = 1.I don't know what's wrong