1.. _burn-bit-cmd:
2
3Burn Bit
4========
5
6The ``espefuse.py burn_bit`` command burns bits in efuse blocks by bit number. This is useful when the fields are not represented in the eFuse table.
7
8Positional arguments:
9
10- ``block`` - Efuse block.
11- ``bit number`` - Bit number in the efuse block [0..BLK_LEN-1] (list of numbers, like 10 15 18 17 5 etc.).
12
13Optional arguments:
14
15- ``--force-write-always``. Burn it even if it looks like it is already been written, or is write protected. Note that this option can not disable write protection, or clear any bit which has already been set.
16
17Usage
18-----
19
20Burning bits to BLOCK2:
21
22.. code-block:: none
23
24    > espefuse.py burn_bit BLOCK2 15 16 17 18 19 20
25
26    === Run "burn_bit" command ===
27    bit_number:   [255]........................................................[0]
28    BLOCK2    : 0x00000000000000000000000000000000000000000000000000000000001f8000
29    BLOCK2          (secure_boot_v1 s) [2 ] regs_to_write: 001f8000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
30
31    Check all blocks for burn...
32    idx, BLOCK_NAME,          Conclusion
33    [02] BLOCK2               is empty, will burn the new value
34    .
35    This is an irreversible operation!
36    Type 'BURN' (all capitals) to continue.
37    BURN
38    BURN BLOCK2  - OK (write block == read block)
39    Reading updated efuses...
40    Successful
41
42Burning In Multiple Blocks
43^^^^^^^^^^^^^^^^^^^^^^^^^^
44
45.. code-block:: none
46
47    > espefuse.py --virt burn_bit BLOCK2 15 16 17 18 19 20 \
48                         burn_bit BLOCK3 15 16 17 18 19 20
49
50    === Run "burn_bit" command ===
51    bit_number:   [255]........................................................[0]
52    BLOCK2    : 0x00000000000000000000000000000000000000000000000000000000001f8000
53    BLOCK2          (secure_boot_v1 s) [2 ] regs_to_write: 001f8000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
54
55    Batch mode is enabled, the burn will be done at the end of the command.
56
57    === Run "burn_bit" command ===
58    bit_number:   [255]........................................................[0]
59    BLOCK3    : 0x00000000000000000000000000000000000000000000000000000000001f8000
60    BLOCK3          (                ) [3 ] regs_to_write: 001f8000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
61
62    Batch mode is enabled, the burn will be done at the end of the command.
63
64    Check all blocks for burn...
65    idx, BLOCK_NAME,          Conclusion
66    [02] BLOCK2               is empty, will burn the new value
67    [03] BLOCK3               is empty, will burn the new value
68    .
69    This is an irreversible operation!
70    Type 'BURN' (all capitals) to continue.
71    BURN
72    BURN BLOCK3  - OK (write block == read block)
73    BURN BLOCK2  - OK (write block == read block)
74    Reading updated efuses...
75