这是我正在努力的事情:我需要它来处理无法纠正的错误。我必须禁用ECSM报告,因为我不想在我的应用程序中重置DED,但是我没有任何机制来注入DED以避免重置:即使我只为注入启用ECSM报告,因为注入了错误同
SPP_MCM.EEGR.R = 0x0220; //取消注释这三行以注入无法纠正的错误
0x00014008:70 1F E7 F4 E_LIS R0,0xFFF4
0x0001400C:70 E0 02 20 E_LI R7,0x220
0x00014010:01 06 SE_MR R6,R0
0x00014012:5C E6 00 4A E_STH R7,0x4A(R6)
*((uint32_t *)0x40002000)= PATTERN;
0x00014016:62 10 SE_BGENI R0,0x1
0x00014018:65 20 SE_BSETI R0,0x12
0x0001401A:70 EA E5 55 E_LIS R7,0x5555
0x0001401E:70 EA C5 55 E_OR2I R7,0x5555
0x00014022:01 06 SE_MR R6,R0
0x00014024:D0 76 SE_STW R7,0x0(R6)
SPP_MCM.EEGR.R = 0x0000;
0x00014026:70 1F E7 F4 E_LIS R0,0xFFF4
0x0001402A:48 07 SE_LI R7,0x0
0x0001402C:01 06 SE_MR R6,R0
0x0001402E:5C E6 00 4A E_STH R7,0x4A(R6)
我执行了一次重置:0x00014016:62 10 SE_BGENI R0,0x1
这不是我期望的行为,因为在手册中写入ECC是根据文字计算并在读数时检查的。
以上来自于谷歌翻译
以下为原文
That's something I'm struggling with: I need it in order to handle uncorrectable errors. I must disable ECSM reporting because I don't want a reset on DED in my application, but I don't have any mechanism to inject a DED avoiding reset: even if I enable ECSM reporting just for the injection, as the error is injected with
SPP_MCM.EEGR.R= 0x0220; //uncomment these three lines to inject uncorrectable error
0x00014008: 70 1F E7 F4 E_LIS R0,0xFFF4
0x0001400C: 70 E0 02 20 E_LI R7,0x220
0x00014010: 01 06 SE_MR R6,R0
0x00014012: 5C E6 00 4A E_STH R7,0x4A(R6)
*((uint32_t *) 0x40002000) = PATTERN;
0x00014016: 62 10 SE_BGENI R0,0x1
0x00014018: 65 20 SE_BSETI R0,0x12
0x0001401A: 70 EA E5 55 E_LIS R7,0x5555
0x0001401E: 70 EA C5 55 E_OR2I R7,0x5555
0x00014022: 01 06 SE_MR R6,R0
0x00014024: D0 76 SE_STW R7,0x0(R6)
SPP_MCM.EEGR.R= 0x0000;
0x00014026: 70 1F E7 F4 E_LIS R0,0xFFF4
0x0001402A: 48 07 SE_LI R7,0x0
0x0001402C: 01 06 SE_MR R6,R0
0x0001402E: 5C E6 00 4A E_STH R7,0x4A(R6)
I have a reset on the execution of: 0x00014016: 62 10 SE_BGENI R0,0x1
This is not the behavior I expect, as on the manual is written that ECC is calculated on writings and checked at readings.
这是我正在努力的事情:我需要它来处理无法纠正的错误。我必须禁用ECSM报告,因为我不想在我的应用程序中重置DED,但是我没有任何机制来注入DED以避免重置:即使我只为注入启用ECSM报告,因为注入了错误同
SPP_MCM.EEGR.R = 0x0220; //取消注释这三行以注入无法纠正的错误
0x00014008:70 1F E7 F4 E_LIS R0,0xFFF4
0x0001400C:70 E0 02 20 E_LI R7,0x220
0x00014010:01 06 SE_MR R6,R0
0x00014012:5C E6 00 4A E_STH R7,0x4A(R6)
*((uint32_t *)0x40002000)= PATTERN;
0x00014016:62 10 SE_BGENI R0,0x1
0x00014018:65 20 SE_BSETI R0,0x12
0x0001401A:70 EA E5 55 E_LIS R7,0x5555
0x0001401E:70 EA C5 55 E_OR2I R7,0x5555
0x00014022:01 06 SE_MR R6,R0
0x00014024:D0 76 SE_STW R7,0x0(R6)
SPP_MCM.EEGR.R = 0x0000;
0x00014026:70 1F E7 F4 E_LIS R0,0xFFF4
0x0001402A:48 07 SE_LI R7,0x0
0x0001402C:01 06 SE_MR R6,R0
0x0001402E:5C E6 00 4A E_STH R7,0x4A(R6)
我执行了一次重置:0x00014016:62 10 SE_BGENI R0,0x1
这不是我期望的行为,因为在手册中写入ECC是根据文字计算并在读数时检查的。
以上来自于谷歌翻译
以下为原文
That's something I'm struggling with: I need it in order to handle uncorrectable errors. I must disable ECSM reporting because I don't want a reset on DED in my application, but I don't have any mechanism to inject a DED avoiding reset: even if I enable ECSM reporting just for the injection, as the error is injected with
SPP_MCM.EEGR.R= 0x0220; //uncomment these three lines to inject uncorrectable error
0x00014008: 70 1F E7 F4 E_LIS R0,0xFFF4
0x0001400C: 70 E0 02 20 E_LI R7,0x220
0x00014010: 01 06 SE_MR R6,R0
0x00014012: 5C E6 00 4A E_STH R7,0x4A(R6)
*((uint32_t *) 0x40002000) = PATTERN;
0x00014016: 62 10 SE_BGENI R0,0x1
0x00014018: 65 20 SE_BSETI R0,0x12
0x0001401A: 70 EA E5 55 E_LIS R7,0x5555
0x0001401E: 70 EA C5 55 E_OR2I R7,0x5555
0x00014022: 01 06 SE_MR R6,R0
0x00014024: D0 76 SE_STW R7,0x0(R6)
SPP_MCM.EEGR.R= 0x0000;
0x00014026: 70 1F E7 F4 E_LIS R0,0xFFF4
0x0001402A: 48 07 SE_LI R7,0x0
0x0001402C: 01 06 SE_MR R6,R0
0x0001402E: 5C E6 00 4A E_STH R7,0x4A(R6)
I have a reset on the execution of: 0x00014016: 62 10 SE_BGENI R0,0x1
This is not the behavior I expect, as on the manual is written that ECC is calculated on writings and checked at readings.
举报