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

您所在的位置:网站首页 如何查看符号的代码信息表 获取芯片MCU唯一标识符、MAC(ESP32/STM32)

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

#获取芯片MCU唯一标识符、MAC(ESP32/STM32)| 来源: 网络整理| 查看: 265

        与服务器通信时,需要进行设备绑定,采取了唯一标识的方式绑定,有获取设备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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3