How to inject ECC failure on 5744 platform?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to inject ECC failure on 5744 platform?

1,442 Views
liujinhang
Contributor III

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

0 Kudos
Reply
2 Replies

1,224 Views
petervlna
NXP TechSupport
NXP TechSupport

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.

pastedImage_1.png

Peter

1,224 Views
liujinhang
Contributor III

劳特巴赫测试截图.png

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

0 Kudos
Reply