Module esp32c6_hal::efuse
source · Expand description
Reading of eFuses (ESP32-C6)
Overview
The efuse
module provides functionality for reading eFuse data
from the ESP32-C6
chip, allowing access to various chip-specific
information such as :
- MAC address
- core count
- CPU frequency
- chip type
and more. It is useful for retrieving chip-specific configuration and identification data during runtime.
The Efuse
struct represents the eFuse peripheral and is responsible for
reading various eFuse fields and values.
Example
Read chip’s MAC address from the eFuse storage.
let mac_address = Efuse::get_mac_address();
writeln!(
serial_tx,
"MAC: {:#X}:{:#X}:{:#X}:{:#X}:{:#X}:{:#X}",
mac_address[0],
mac_address[1],
mac_address[2],
mac_address[3],
mac_address[4],
mac_address[5]
);
Structs
- The bit field for get access to efuse data
Constants
[]
ADC1 calibration voltage at atten0[]
ADC1 calibration voltage at atten1[]
ADC1 calibration voltage at atten2[]
ADC1 calibration voltage at atten3[]
ADC1 init code at atten0[]
ADC1 init code at atten0 ch0[]
ADC1 init code at atten0 ch1[]
ADC1 init code at atten0 ch2[]
ADC1 init code at atten0 ch3[]
ADC1 init code at atten0 ch4[]
ADC1 init code at atten0 ch5[]
ADC1 init code at atten0 ch6[]
ADC1 init code at atten1[]
ADC1 init code at atten2[]
ADC1 init code at atten3[]
BLK_VERSION_MAJOR of BLOCK2[]
BLK_VERSION_MINOR of BLOCK2[]
Represents whether anti-dpa attack is enabled. 1:enabled. 0: disabled[]
Disables check of blk version major[]
Disables check of wafer version major[]
Represents whether direct boot mode is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether icache is disabled or enabled in Download mode. 1: disabled. 0: enabled[]
Represents whether flash encrypt function is disabled or enabled(except in SPI boot mode). 1: disabled. 0: enabled[]
Represents whether Download mode is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether the function that forces chip into download mode is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether icache is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether JTAG is disabled in the hard way(permanently). 1: disabled. 0: enabled[DIS_CAN]
Represents whether TWAI function is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether the function of usb switch to jtag is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether USB-Serial-JTAG is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether the USB-Serial-JTAG download function is disabled or enabled. 1: disabled. 0: enabled[DIS_USB_PRINT]
Represents whether print from USB-Serial-JTAG is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether security download is enabled or disabled. 1: enabled. 0: disabled[]
[]
[]
Represents the flash waiting time after power-up; in unit of ms. When the value less than 15; the waiting time is the programmed value. Otherwise; the waiting time is 2 times the programmed value[]
[]
Represents whether ROM code is forced to send a resume command during SPI boot. 1: forced. 0:not forced[]
Represents whether the selection between usb_to_jtag and pad_to_jtag through strapping gpio15 when both EFUSE_DIS_PAD_JTAG and EFUSE_DIS_USB_JTAG are equal to 0 is enabled or disabled. 1: enabled. 0: disabled[BLOCK_KEY0]
Key0 or user data[BLOCK_KEY1]
Key1 or user data[BLOCK_KEY2]
Key2 or user data[BLOCK_KEY3]
Key3 or user data[BLOCK_KEY4]
Key4 or user data[BLOCK_KEY5]
Key5 or user data[KEY0_PURPOSE]
Represents the purpose of Key0[KEY1_PURPOSE]
Represents the purpose of Key1[KEY2_PURPOSE]
Represents the purpose of Key2[KEY3_PURPOSE]
Represents the purpose of Key3[KEY4_PURPOSE]
Represents the purpose of Key4[KEY5_PURPOSE]
Represents the purpose of Key5[]
Stores the extended bits of MAC address[MAC_FACTORY]
MAC address[]
ADC OCode[]
Optional unique 128-bit ID[]
Package version[]
Disable reading from BlOCK4-10[RD_DIS.KEY0]
rd_dis of BLOCK_KEY0[RD_DIS.KEY1]
rd_dis of BLOCK_KEY1[RD_DIS.KEY2]
rd_dis of BLOCK_KEY2[RD_DIS.KEY3]
rd_dis of BLOCK_KEY3[RD_DIS.KEY4]
rd_dis of BLOCK_KEY4[RD_DIS.KEY5]
rd_dis of BLOCK_KEY5[RD_DIS.SYS_DATA_PART2]
rd_dis of BLOCK_SYS_DATA2[]
Represents whether revoking aggressive secure boot is enabled or disabled. 1: enabled. 0: disabled[]
Represents whether FAST VERIFY ON WAKE is disabled or enabled when Secure Boot is enabled. 1: disabled. 0: enabled[]
Represents whether secure boot is enabled or disabled. 1: enabled. 0: disabled[]
Revoke 1st secure boot key[]
Revoke 2nd secure boot key[]
Revoke 3rd secure boot key[]
Represents the version used by ESP-IDF anti-rollback feature[DPA_SEC_LEVEL]
Represents the spa secure level by configuring the clock random divide mode[]
Represents whether JTAG is disabled in soft way. Odd number: disabled. Even number: enabled[]
Enables flash encryption when 1 or 3 bits are set and disables otherwise {0: “Disable”; 1: “Enable”; 3: “Disable”; 7: “Enable”}[]
Represents whether SPI0 controller during boot_mode_download is disabled or enabled. 1: disabled. 0: enabled[]
Represents whether pad of uart and sdio is swapped or not. 1: swapped. 0: not swapped[BLOCK_SYS_DATA2]
System data part 2 (reserved)[]
Temperature calibration data[]
Set the default UARTboot message output mode {0: “Enable”; 1: “Enable when GPIO8 is low at reset”; 2: “Enable when GPIO8 is high at reset”; 3: “Disable”}[]
Represents whether the D+ and D- pins is exchanged. 1: exchanged. 0: not exchanged[BLOCK_USR_DATA]
User data[MAC_CUSTOM CUSTOM_MAC]
Custom MAC[]
Represents whether vdd spi pin is functioned as gpio. 1: functioned. 0: not functioned[]
[]
[]
Represents whether RTC watchdog timeout threshold is selected at startup. 1: selected. 0: not selected[]
Disable programming of individual eFuses[]
wr_dis of ADC1_CAL_VOL_ATTEN0[]
wr_dis of ADC1_CAL_VOL_ATTEN1[]
wr_dis of ADC1_CAL_VOL_ATTEN2[]
wr_dis of ADC1_CAL_VOL_ATTEN3[]
wr_dis of ADC1_INIT_CODE_ATTEN0[]
wr_dis of ADC1_INIT_CODE_ATTEN0_CH0[]
wr_dis of ADC1_INIT_CODE_ATTEN0_CH1[]
wr_dis of ADC1_INIT_CODE_ATTEN0_CH2[]
wr_dis of ADC1_INIT_CODE_ATTEN0_CH3[]
wr_dis of ADC1_INIT_CODE_ATTEN0_CH4[]
wr_dis of ADC1_INIT_CODE_ATTEN0_CH5[]
wr_dis of ADC1_INIT_CODE_ATTEN0_CH6[]
wr_dis of ADC1_INIT_CODE_ATTEN1[]
wr_dis of ADC1_INIT_CODE_ATTEN2[]
wr_dis of ADC1_INIT_CODE_ATTEN3[]
wr_dis of BLOCK1[]
wr_dis of BLK_VERSION_MAJOR[]
wr_dis of BLK_VERSION_MINOR[WR_DIS.KEY0]
wr_dis of BLOCK_KEY0[WR_DIS.KEY1]
wr_dis of BLOCK_KEY1[WR_DIS.KEY2]
wr_dis of BLOCK_KEY2[WR_DIS.KEY3]
wr_dis of BLOCK_KEY3[WR_DIS.KEY4]
wr_dis of BLOCK_KEY4[WR_DIS.KEY5]
wr_dis of BLOCK_KEY5[WR_DIS.SYS_DATA_PART2]
wr_dis of BLOCK_SYS_DATA2[WR_DIS.USER_DATA]
wr_dis of BLOCK_USR_DATA[]
wr_dis of CRYPT_DPA_ENABLE[WR_DIS.MAC_CUSTOM WR_DIS.USER_DATA_MAC_CUSTOM]
wr_dis of CUSTOM_MAC[]
wr_dis of DISABLE_BLK_VERSION_MAJOR[]
wr_dis of DISABLE_WAFER_VERSION_MAJOR[]
wr_dis of DIS_DIRECT_BOOT[]
wr_dis of DIS_DOWNLOAD_ICACHE[]
wr_dis of DIS_DOWNLOAD_MANUAL_ENCRYPT[]
wr_dis of DIS_DOWNLOAD_MODE[]
wr_dis of DIS_FORCE_DOWNLOAD[]
wr_dis of DIS_ICACHE[]
wr_dis of DIS_PAD_JTAG[WR_DIS.DIS_CAN]
wr_dis of DIS_TWAI[]
wr_dis of DIS_USB_JTAG[]
wr_dis of DIS_USB_SERIAL_JTAG[]
wr_dis of DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE[WR_DIS.DIS_USB_PRINT]
wr_dis of DIS_USB_SERIAL_JTAG_ROM_PRINT[]
wr_dis of ENABLE_SECURITY_DOWNLOAD[]
wr_dis of FLASH_CAP[]
wr_dis of FLASH_TEMP[]
wr_dis of FLASH_TPUW[]
wr_dis of FLASH_VENDOR[]
wr_dis of FORCE_SEND_RESUME[]
wr_dis of JTAG_SEL_ENABLE[WR_DIS.KEY0_PURPOSE]
wr_dis of KEY_PURPOSE_0[WR_DIS.KEY1_PURPOSE]
wr_dis of KEY_PURPOSE_1[WR_DIS.KEY2_PURPOSE]
wr_dis of KEY_PURPOSE_2[WR_DIS.KEY3_PURPOSE]
wr_dis of KEY_PURPOSE_3[WR_DIS.KEY4_PURPOSE]
wr_dis of KEY_PURPOSE_4[WR_DIS.KEY5_PURPOSE]
wr_dis of KEY_PURPOSE_5[WR_DIS.MAC_FACTORY]
wr_dis of MAC[]
wr_dis of MAC_EXT[]
wr_dis of OCODE[]
wr_dis of OPTIONAL_UNIQUE_ID[]
wr_dis of PKG_VERSION[]
wr_dis of RD_DIS[]
wr_dis of SECURE_BOOT_AGGRESSIVE_REVOKE[]
wr_dis of SECURE_BOOT_DISABLE_FAST_WAKE[]
wr_dis of SECURE_BOOT_EN[]
wr_dis of SECURE_BOOT_KEY_REVOKE0[]
wr_dis of SECURE_BOOT_KEY_REVOKE1[]
wr_dis of SECURE_BOOT_KEY_REVOKE2[]
wr_dis of SECURE_VERSION[WR_DIS.DPA_SEC_LEVEL]
wr_dis of SEC_DPA_LEVEL[]
wr_dis of SOFT_DIS_JTAG[]
wr_dis of SPI_BOOT_CRYPT_CNT[]
wr_dis of SPI_DOWNLOAD_MSPI_DIS[]
wr_dis of SWAP_UART_SDIO_EN[]
wr_dis of BLOCK2[]
wr_dis of TEMP_CALIB[]
wr_dis of UART_PRINT_CONTROL[]
wr_dis of USB_EXCHG_PINS[]
wr_dis of VDD_SPI_AS_GPIO[]
wr_dis of WAFER_VERSION_MAJOR[]
wr_dis of WAFER_VERSION_MINOR[]
wr_dis of WDT_DELAY_SEL