每个处理器会有一个唯一的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