打印
[综合信息]

华大单片机UID读取说明

[复制链接]
1099|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LED2013|  楼主 | 2020-8-7 09:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

华大单片机每颗芯片出厂前具备唯一的 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,如下图所示。


使用特权

评论回复
沙发
xiaoqizi| | 2020-9-4 12:54 | 只看该作者
长知识了 呵呵

使用特权

评论回复
板凳
木木guainv| | 2020-9-4 12:54 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
地板
磨砂| | 2020-9-4 12:55 | 只看该作者
非常好的帖子

使用特权

评论回复
5
晓伍| | 2020-9-4 12:56 | 只看该作者
路过 学习了

使用特权

评论回复
6
八层楼| | 2020-9-4 12:57 | 只看该作者
楼主辛苦了

使用特权

评论回复
7
zydr1989| | 2021-1-31 15:22 | 只看该作者
请问楼主,读取UID时是否正常呢?下面是我写的读取部分,一运行就挂掉;不知能否帮忙解答下,非常感谢
#define MCU_UID_ADDR_S                0x00100E74
        uint8_t i = 0;
        uint8_t data[10] = {0};
                /* read */
                for(i = 0; i < 10; i++) {
                        data[i] = *(unsigned char *)(MCU_UID_ADDR_S + i);
                }

使用特权

评论回复
8
fjhcpu| | 2021-2-8 20:28 | 只看该作者
Lot Number  这就可以当做唯一编号 ,可以吧?

使用特权

评论回复
9
麻花油条| | 2021-2-22 16:57 | 只看该作者

长知识了

使用特权

评论回复
10
caigang13| | 2021-2-22 18:10 | 只看该作者
学习了,感谢楼主分享经验。

使用特权

评论回复
11
余三水| | 2021-2-22 19:14 | 只看该作者
80 位的唯一设备标识符也可以以单字节/半字/字等不同方式读取,然后使用自定义算法连接起来。
这个功能是相当相当的有用的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2327

主题

29220

帖子

24

粉丝