小工具知识网

当前位置: 首页 > 行业知识 > 获取芯片MCU唯一标识符、MAC(ESP32/STM32)

行业知识

获取芯片MCU唯一标识符、MAC(ESP32/STM32)

2026-11-08 08:23:09 来源:互联网转载

        与服务器通信时,需要进行设备绑定,采取了唯一标识的方式绑定,有获取设备MCU唯一标识符的需求,文中说明了STM32、ESP32系列芯片获取唯一标识符、MAC的方法。

STM32

        在STM32的全系列MCU中均有一个96位的唯一设备标识符。在ST的相关资料中,对其功能的描述有3各方面:

        1、用作序列号(例如 USB 字符串序列号或其它终端应用程序)

        2、在对内部 Flash 进行编程前将唯一 ID 与软件加密原语和协议结合使用时用作安全密钥以提高 Flash 中代码的安全性

        3、激活安全自举过程等

        96位的产品唯一身份标识所提供的参考号码对任意一个STM32微控制器,在任何情况下都是唯一的。

        用户在何种情况下,都不能修改这个身份标识。这个96位的产品唯一身份标识,按照用户不同的用法,可以以字节(8位)为单位读取,也可以以半字(16位)或者全字(32位)读取。

        唯一ID是一个96位的信息串,所以按字读取就是3个字,按半字读取就是6个,按字节读取就是12个。本质上没有区别,在这里我们按字读取。

STM32F10xxx中文参考手册说明:器件电子签名

获取96位的唯一身份标识寄存器数据时,其基地址为:0x1FFF F7E8

基地址偏移0x02: 0x1FFF F7E8 + 0x02 = 0x1FFF F7EA

基地址偏移0x04: 0x1FFF F7E8 + 0x04 = 0x1FFF F7EC

基地址偏移0x08: 0x1FFF F7E8 + 0x08 = 0x1FFF F7F0

//判断处理器是大端还是小端    union{    char ch[4];         int num;    }haha;haha.num =0x12345678;for(int i=0;i

上一篇:Win8导航源码深度解析,探索最新技术,轻松掌握导航源码奥秘!

下一篇:服务器网络连接不通怎么办?