200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > STM32的全系列MCU的ID号的地址及读取方法

STM32的全系列MCU的ID号的地址及读取方法

时间:2020-08-16 01:20:01

相关推荐

STM32的全系列MCU的ID号的地址及读取方法

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

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

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

激活安全自举过程等

在资料中对其特性的描述是:96 位的唯一设备标识符提供了一个对于任何设备和任何上下文都唯一的参考号码。用户永远不能改变这些位。96 位的唯一设备标识符也可以以单字节/半字/字等不同方式读取,然后使用自定义算法连接起来。

想要读取唯一ID,就需要知道它的存储地址,在不同系列的MCU中地址是有差别的,我们查询了部分MCU的资料并将其总结如下:

void Get_CPU_ID(void)

{

//read CPU ID,stm32lxx,add+4

CpuID[0] = *(__IO u32 *)(0X1FF80058);

CpuID[1] = *(__IO u32 *)(0X1FF80054);

CpuID[2] = *(__IO u32 *)(0X1FF80050);

}

int main(void)

{

printf(“rn###########CPU ID:%X-%X-%X\r\n”,CpuID[0],CpuID[1],CpuID[2]);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。