Espressif ESP32-C3-eFuse
The Espressif ESP32-C3 family are RISC-V based microcontrollers.
Supported devices
eFuse programming support for ESP32-C3 family.
Target interfaces
| Interface | J-Link support | Flasher support |
|---|---|---|
| UART |
eFuse blocks
[Block 0]
| Flash bank | Base address | J-Link support | Flasher support | Loader | |
|---|---|---|---|---|---|
| Name | Bank size | ||||
| Block 0 | 0x6000882C | Default | 24 Byte | ||
[Block 1..10]
| Flash bank | Base address | J-Link support | Flasher support | Loader | |
|---|---|---|---|---|---|
| Name | Bank size | ||||
| Block1 | 0x60008844 | Default | 24 Byte | ||
| Block2 | 0x6000885C | Default | 32 Byte | ||
| Block3 | 0x6000887C | Default | 32 Byte | ||
| Block4 | 0x6000889C | Default | 32 Byte | ||
| Block5 | 0x600088BC | Default | 32 Byte | ||
| Block6 | 0x600088DC | Default | 32 Byte | ||
| Block7 | 0x600088FC | Default | 32 Byte | ||
| Block8 | 0x6000891C | Default | 32 Byte | ||
| Block9 | 0x6000893C | Default | 32 Byte | ||
| Block10 | 0x6000895C | Default | 32 Byte | ||
Device specific handling
Connect
Reset
- The device uses normal reset, and GPIO9 for boot mode handling. See wiring diagram above.
- Programming the eFuses is sensitive to the supply voltage. Please ensure that you have a stable and adequately rated 3.3V power supply.
Security
The device can be protected using special sittings in Block 0.
Limitations
All eFuse cells are OTP cells and can only be programmed once. There is no way to reset these cells.
Empty fuses have the value 0. Programmed fused have the value 1
All blocks can be readout with the #READ command.
Block 1..10
Block 1..10 have an Reed Solomon based error correction. So it is NOT possible to set additional bits within a block in a second go. Once one at least one bit is set, the block can not be modifies anymore. The Reed Solomon values would have to be modified which is not possible!
It is not possible to read the Reed Solomon values.
Block 0
Block 0 is stored 4 times without an RS code. So it is possible to set e.g. Readout protection in a second go.
Please note that, depending on the settings you choose, no further blocks can be programmed anymore. If multiple blank blocks are burned at the same time, block 0 will be written after all other blocks.
Blocks 1 and 2 are typically shipped pre-programmed. Therefore, they cannot be reprogrammed and must NOT appear in the HEX file.
Single-block programming
If you are programming the blocks step by step, you must remove the data from the previous programming steps from the HEX file during the subsequent programming steps! Block 0 must always be programmed all the way to the end.
