eFuse (Electronic Fuses)¶

group group_efuse

Electronic Fuses (eFuses) are non-volatile memory where each bit is one-time programmable (OTP).

The functions and other declarations used in this driver are in cy_efuse.h. You can include cy_pdl.h to get access to all functions and declarations in the PDL.

The eFuse driver enables reading the state of any bit.

• CAT1A devices does not support writing to eFuse memory. Writing an eFuse bit is typically done by a production programmer. Fuses are programmed via the PSoC Programmer tool that parses the hex file and extracts the necessary information; the fuse data must be located at the dedicated section in the hex file. For more details see PSoC 6 Programming Specifications

• CAT1B devices support writing to eFuse memory.

One eFuse macro consists of 256 bits (32 * 8). Consult the device-specific datasheet to determine how many macros a device has. These are implemented as a regular Advanced High-performance Bus (AHB) peripheral with the following characteristics:

• eFuses are used to control the device life-cycle stage (NORMAL, SECURE, and SECURE_WITH_DEBUG) and the protection settings;

• eFuse memory can be programmed (eFuse bit value changed from ‘0’ to ‘1’) only once; if an eFuse bit is blown, it cannot be cleared again;

Configuration Considerations

The eFuse driver provides the simplest way to read and write eFuse memory. No configuration is needed.