1.. _check-error-cmd: 2 3Check Error 4=========== 5 6The ``espefuse.py check_error`` command checks eFuse errors. It triggers several reads to force the eFuse controller to reload eFuses and update status registers. This command can be run after burn operations to make sure that there is not errors. 7 8Optional argument: 9 10* ``--recovery``. It repairs encoding errors in eFuse blocks, if possible. 11 12The summary log below shows an error in BLOCK0. 13 14.. code-block:: none 15 16 > espefuse.py summary 17 ... 18 WDT_DELAY_SEL (BLOCK0)[FAIL:1] Selects RTC WDT timeout threshold at startup = False R/W (0b0) 19 ... 20 Error(s) in BLOCK0 [ERRORS:1 FAIL:1] 21 22 BLOCK0 ( ) [0 ] err__regs: 00000400 00000000 00000000 00000000 00000000 00000000 23 EFUSE_RD_RS_ERR0_REG 0x00000000 24 EFUSE_RD_RS_ERR1_REG 0x00000000 25 WARNING: Coding scheme has encoding bit error warnings 26 27Usage 28----- 29 30Checks the status registers of eFuse blocks and throws an error if there is an error. 31 32.. code-block:: none 33 34 > espefuse.py check_error 35 36 Error(s) in BLOCK1 [ERRORS:0 FAIL:1] 37 Error(s) in BLOCK2 [ERRORS:1 FAIL:1] 38 Error(s) in BLOCK3 [ERRORS:1 FAIL:1] 39 40 BLOCK0 ( ) [0 ] err__regs: 00000000 00000000 00000000 00000000 00000000 00000000 41 EFUSE_RD_RS_ERR0_REG 0x00008990 42 EFUSE_RD_RS_ERR1_REG 0x00000000 43 44 === Run "check_error" command === 45 Error(s) in BLOCK1 [ERRORS:0 FAIL:1] 46 Error(s) in BLOCK2 [ERRORS:1 FAIL:1] 47 Error(s) in BLOCK3 [ERRORS:1 FAIL:1] 48 49 BLOCK0 ( ) [0 ] err__regs: 00000000 00000000 00000000 00000000 00000000 00000000 50 EFUSE_RD_RS_ERR0_REG 0x00008990 51 EFUSE_RD_RS_ERR1_REG 0x00000000 52 53 A fatal error occurred: Error(s) were detected in eFuses 54 55Repairs encoding errors in eFuse blocks, if possible. 56 57.. code-block:: none 58 59 > espefuse.py check_error --recovery 60 61 Error(s) in BLOCK1 [ERRORS:0 FAIL:1] 62 Error(s) in BLOCK2 [ERRORS:1 FAIL:1] 63 Error(s) in BLOCK3 [ERRORS:1 FAIL:1] 64 65 BLOCK0 ( ) [0 ] err__regs: 00000000 00000000 00000000 00000000 00000000 00000000 66 EFUSE_RD_RS_ERR0_REG 0x00008990 67 EFUSE_RD_RS_ERR1_REG 0x00000000 68 69 === Run "check_error" command === 70 Error(s) in BLOCK1 [ERRORS:0 FAIL:1] 71 Error(s) in BLOCK2 [ERRORS:1 FAIL:1] 72 Error(s) in BLOCK3 [ERRORS:1 FAIL:1] 73 74 BLOCK0 ( ) [0 ] err__regs: 00000000 00000000 00000000 00000000 00000000 00000000 75 EFUSE_RD_RS_ERR0_REG 0x00008990 76 EFUSE_RD_RS_ERR1_REG 0x00000000 77 Recovery of block coding errors. 78 This is an irreversible operation! 79 Type 'BURN' (all capitals) to continue. 80 BURN 81 Error in BLOCK3, re-burn it again (#0), to fix it. fail_bit=1, num_errors=0 82 Error in BLOCK3, re-burn it again (#1), to fix it. fail_bit=1, num_errors=0 83 Error in BLOCK3, re-burn it again (#2), to fix it. fail_bit=1, num_errors=0 84 BURN BLOCK3 - OK (write block == read block) 85 Error in BLOCK2, re-burn it again (#0), to fix it. fail_bit=1, num_errors=1 86 Error in BLOCK2, re-burn it again (#1), to fix it. fail_bit=1, num_errors=1 87 Error in BLOCK2, re-burn it again (#2), to fix it. fail_bit=1, num_errors=1 88 BURN BLOCK2 - OK (write block == read block) 89 Error in BLOCK1, re-burn it again (#0), to fix it. fail_bit=1, num_errors=0 90 Error in BLOCK1, re-burn it again (#1), to fix it. fail_bit=1, num_errors=0 91 Error in BLOCK1, re-burn it again (#2), to fix it. fail_bit=1, num_errors=0 92 BURN BLOCK1 - OK (write block == read block) 93 Error(s) in BLOCK1 [ERRORS:0 FAIL:1] 94 Error(s) in BLOCK2 [ERRORS:1 FAIL:1] 95 Error(s) in BLOCK3 [ERRORS:0 FAIL:1] 96 97 BLOCK0 ( ) [0 ] err__regs: 00000000 00000000 00000000 00000000 00000000 00000000 98 EFUSE_RD_RS_ERR0_REG 0x00008890 99 EFUSE_RD_RS_ERR1_REG 0x00000000 100 101 A fatal error occurred: Error(s) were detected in eFuses 102 103If all errors are fixed, then this message is displayed: 104 105.. code-block:: none 106 107 No errors detected 108