每个处理器会有一个唯一的ID,这个ID可用做产品序列号,或其它。
X21000的CHIP_ID存放于芯片内部的efuse中,efuse是一次性可可编程存储器,初始值为全0,只能将0改为1,不能将1改为0。芯片出厂前会被写入一些信息,如CHIP_ID。
一、配置文件中开启efuse
再下一级是配置给AVDEFUSE供电的GPIO控制脚,如果没有就选NULL。
二、代码
包含头文件
#include <driver/efuse.h>
读取CHIP_ID的代码:
void efuse_test(void)
{
int i;
unsigned char chip_id_buff[CHIP_ID_SIZE];
/* efuse 读 CHIP_ID 段,
* 每次读的大小和段大小(12byte)保持一致,单位 byte
*/
efuse_read_segment(CHIP_ID, chip_id_buff, CHIP_ID_SIZE);
printf("CHIP_ID = ");
for (i = 0; i < CHIP_ID_SIZE; i++)
printf("%02x", chip_id_buff[i]);
printf("\n");
}
读取了两个芯片的CHIP_ID,内容如下:
0eb4c827d11b5e7c8b0a000080298e8a08
baa4e665cc1b5e7c8b0a000080298e8a08