LED2013 发表于 2020-8-7 09:49

华大单片机UID读取说明

华大单片机每颗芯片出厂前具备唯一的 10 字节设备标识号,包括 wafer lot 信息,以及芯片坐标信息等。UID 地址为:0x00100E74 - 0x00100E7D。
唯一设备标识符最适合:
 用作序列号
 在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全密钥以提高 Flash 中代码的安全性
 激活安全自举过程等80 位的唯一设备标识符提供了一个对于任何设备和任何上下文都唯一的参考号码。用户永远不能改变这些位。
80 位的唯一设备标识符也可以以单字节/半字/字等不同方式读取,然后使用自定义算法连接起来。以HC32F030为列说明UID的规则(其它型号芯片具体情况要看手册说明)。HC32F030的UID规则如下:将MCU连上仿真器,观察0X100E74地址开始的FLASH内容如下:与UID规则对应我们可以知道UID如下:
Lot Number:00 00 03 F7 F9 88
X坐标:08
Y坐标:28
Wafer Number:2B
版本:0C
将Lot Number转换成10进制为66582920,这个数字就是芯片上丝印的Lot Number,如下图所示。
:https://img-blog.csdnimg.cn/20190719094819889.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2pldHNvbjAyNA==,size_16,color_FFFFFF,t_70

xiaoqizi 发表于 2020-9-4 12:54

长知识了 呵呵

木木guainv 发表于 2020-9-4 12:54

非常感谢楼主分享

磨砂 发表于 2020-9-4 12:55

非常好的帖子

晓伍 发表于 2020-9-4 12:56

路过 学习了

八层楼 发表于 2020-9-4 12:57

楼主辛苦了

zydr1989 发表于 2021-1-31 15:22

请问楼主,读取UID时是否正常呢?下面是我写的读取部分,一运行就挂掉;不知能否帮忙解答下,非常感谢
#define MCU_UID_ADDR_S                0x00100E74
        uint8_t i = 0;
        uint8_t data = {0};
                /* read */
                for(i = 0; i < 10; i++) {
                        data = *(unsigned char *)(MCU_UID_ADDR_S + i);
                }

fjhcpu 发表于 2021-2-8 20:28

Lot Number这就可以当做唯一编号 ,可以吧?

麻花油条 发表于 2021-2-22 16:57


长知识了

caigang13 发表于 2021-2-22 18:10

学习了,感谢楼主分享经验。

余三水 发表于 2021-2-22 19:14

80 位的唯一设备标识符也可以以单字节/半字/字等不同方式读取,然后使用自定义算法连接起来。
这个功能是相当相当的有用的。
页: [1]
查看完整版本: 华大单片机UID读取说明