Chapter 2. API Reference
• ESP_ERR_EFUSE_REPEATED_PROG: Error repeated programming of programmed bits is
strictly forbidden.
• ESP_ERR_CODING: Error range of data does not match the coding scheme.
Parameters
• [in] block: A key block in the range EFUSE_BLK_KEY0..EFUSE_BLK_KEY_MAX
bool esp_efuse_get_key_dis_write(esp_efuse_block_t block)
Returns a write protection for the key block.
Return True: The key block is write protected False: The key block is writeable.
Parameters
• [in] block: A key block in the range EFUSE_BLK_KEY0..EFUSE_BLK_KEY_MAX
esp_err_t esp_efuse_set_key_dis_write(esp_efuse_block_t block)
Sets a write protection for the key block.
Return
• ESP_OK: Successful.
• ESP_ERR_INVALID_ARG: Error in the passed arguments.
• ESP_ERR_EFUSE_REPEATED_PROG: Error repeated programming of programmed bits is
strictly forbidden.
• ESP_ERR_CODING: Error range of data does not match the coding scheme.
Parameters
• [in] block: A key block in the range EFUSE_BLK_KEY0..EFUSE_BLK_KEY_MAX
bool esp_efuse_key_block_unused(esp_efuse_block_t block)
Returns true if the key block is unused, false otherwise.
An unused key block is all zero content, not read or write protected, and has purpose 0
(ESP_EFUSE_KEY_PURPOSE_USER)
Return
• True if key block is unused,
• False if key block is used or the specified block index is not a key block.
Parameters
• block: key block to check.
bool esp_efuse_find_purpose(esp_efuse_purpose_t purpose, esp_efuse_block_t *block)
Find a key block with the particular purpose set.
Return
• True: If found,
• False: If not found (value at block pointer is unchanged).
Parameters
• [in] purpose: Purpose to search for.
• [out] block: Pointer in the range EFUSE_BLK_KEY0..EFUSE_BLK_KEY_MAX which will
be set to the key block if found. Can be NULL, if only need to test the key block exists.
bool esp_efuse_get_keypurpose_dis_write(esp_efuse_block_t block)
Returns a write protection of the key purpose field for an efuse key block.
Note For ESP32: no keypurpose, it returns always True.
Return True: The key purpose is write protected. False: The key purpose is writeable.
Parameters
• [in] block: A key block in the range EFUSE_BLK_KEY0..EFUSE_BLK_KEY_MAX
esp_efuse_purpose_t esp_efuse_get_key_purpose(esp_efuse_block_t block)
Returns the current purpose set for an efuse key block.
Return
• Value: If Successful, it returns the value of the purpose related to the given key block.
• ESP_EFUSE_KEY_PURPOSE_MAX: Otherwise.
Parameters
• [in] block: A key block in the range EFUSE_BLK_KEY0..EFUSE_BLK_KEY_MAX
Espressif Systems 821
Submit Document Feedback
Release v4.4