单片机
返回首页

STM32单片机-ID操作

2017-11-08 来源:eefocus

每一片 STM32 芯片内部拥有一个独一无二的 Unique Device ID, 96 Bit.

这个 ID 号可以提供给开发者很多优越的功能, 例如:

1. 可以把 ID 做为用户最终产品的序列号,帮助用户进行产品的管理。

2. 在某些需要保证安全性的功能代码运行前,通过校验此 ID,保证最终产品的某些功能的安全性。

3. 用 ID 配合加解密算法,对芯片内部的代码进行加加密,以保证用户产品的安全性和不可复制性。

这项功能相信对那些不希望自己的产品不被别人抄袭来说肯定是个非常不错的。

下面我就先大家介绍如何读出这个 ID:


这个 ID 号是放在片内 Flash 中的固定的位置,直接读取出来就行了. 96 位的独特 ID 位于地址 0×1FFFF7E8 ~ 0×1FFFF7F4 的系统存储区, 由 ST 公司在工厂中写入 (用户不能修改) 用户可以以字节、半字、或字的方式单独读取其间的任一地址.

(一) 配置好串口, 用于调试演示, 这一部份前面的章节我们已经介绍过了.

可以参考贴子:

[原创] MINI-STM32 开发板入门教程 (六) 基于 DMA 的 ADC

当然也可以直接下载我们的例程去读这部分的程序.

(二) 读取 Unique Device ID

u32 Dev_Serial0, Dev_Serial1, Dev_Serial2;

Dev_Serial0 = *(vu32*)(0×1FFFF7E8);

Dev_Serial1 = *(vu32*)(0×1FFFF7EC);

Dev_Serial2 = *(vu32*)(0×1FFFF7F0);

(三) 仿真调试


(1) 使用Keil uVision4 通过ULINK 2仿真器连接实验板,使用MINI-STM32 开发板附带的串口线,连接实验板上的 UART1 和 PC 机的串口,打开实验例程目录下的ADC.Uv2例程,编译链接工程;

(2) 在 PC 机上运行 windows 自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序;

(3) 点击MDK 的Debug菜单,点击Start/Stop Debug Session;

(4) 全速运行程序, 显示结果如下所示。

MINI-STM32  STM32F103RBT6 Unique Device ID:

066C0033 32353958 43195835

备注: 其中最后一行的数字就是我的 MINI-STM32 开发板中 STM32F103RBT6 的 Unique Device ID. 您的 ID 当然肯定会和我的不一样哦.

[转载]STM32单片机-ID操作


进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 红外线探测报警器

  • 短波AM发射器电路设计图

  • RS-485基础知识:处理空闲总线条件的两种常见方法

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章