读取STM32单片机-ID操作
每一片 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 当然肯定会和我的不一样
转载于:https://www.cnblogs.com/liangbo-1024/p/10943605.html
读取STM32单片机-ID操作相关推荐
- 单片机入门学习五 STM32单片机学习二 跑马灯程序衍生出的stm32编程基础
上篇文章 单片机入门学习四 STM32单片机学习一 跑马灯程序和创建工程 仅介绍了入门程序及其编译运行过程,下面开始对stm32的一些基础知识做一个记录. 1.stm32f103zet6(上篇问题3 ...
- STM32F103单片机读取芯片自身ID
每一个STM32单片机出厂的时候都有全球唯一的ID,当在数据安全性比较高的地方,需要对每一个接入系统的芯片进行身份验证,那么这个芯片自身的ID号就可以作为它的身份信息. 产品唯一的身份标识非常适合 ...
- STM32通过读取芯片唯一ID号来实现程序的保护,防止被抄袭
大家好!我叫肖亚平,从小热爱上了电子技术,读书时阴差阳错的选择了电子这方面的专业,学习电子技术.一直到今年毕业.对于我的理解来说,学校里面学到的技术不是全部实用,但是必须有用,所以一直奋斗在前线.我对 ...
- STM32单片机扫雷游戏TFT触摸操作单片机小游戏
实践制作DIY- GC0015-怀旧扫雷小游戏 一.功能说明: 基于STM32单片机设计-扫雷游戏 功能介绍: 1.基于STM32F103R系列单片机,2.4寸电阻触摸屏,24c02存储器,. 2.1 ...
- stm32怎么加载字库_收藏 | STM32单片机超详细学习汇总资料(二)
点击"蓝字"关注我们 3110月 收藏 | STM32单片机超详细学习汇总资料(一) ◆41.DMA仲裁器分为软件和硬件两种.软件部分分为4个等级,分别是很高优先级.高优先级.中等 ...
- STM32单片机程序dll实现
简介 一个Windows程序一般是由一个exe和多个dll文件组成,在exe程序运行时调用dll的二进制代码,这样做相对所有的程序都写到一个exe文件里边有有几个优势: 1.增加代码的复用,比如Dui ...
- STM32单片机学习笔记
1. AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2. Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一 ...
- stm32中断源有哪些_143条 超详细整理STM32单片机学习笔记(必看)
点击上方蓝色字关注我们~ 1.AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2>1,意思是APB2接高速设备 2.Stm32f10x.h相当于reg52.h(里面有基本的 ...
- 基于STM32单片机的智能停车场车位管理系统设计
摘 要 通过调查发现,现有的许多公共场所的停车位管理落后,智能化程度不高.为顺应现代自动化狂潮的发展趋势,本项目以STM32单片机为主控芯片,基于RFID智能识别技术,设计了一个具有IC识别的智能停 ...
最新文章
- php gzipstream,c# – 在WebRequest中发送gzip数据?
- OpenCV中resize函数五种插值算法的实现过程
- 程序员应知——团队精神(转)
- 隐藏系统运行对话框立即启用
- tyvj 2002 扑克牌
- 关于Android错误 View requires API level 14 (current...
- Linux16.04和Windows 10双系统下,解决时间不一致问题
- python导入requests库一直报错原因总结_python pip 安装库文件报错:pip install ImportError: No module named _internal...
- 手机学python语言用什么软件好_盘点几个在手机上可以用来学习编程的软件
- 《善用佳软:高效能人士的软件应用之道》一2.3 思维导图:思想脉络的逻辑结构...
- 陈纪修老师《数学分析》 第11章:欧式空间上的极限和连续 笔记
- 服务器修改开机启动项,启动项设置_服务器开机启动项
- 如何导出久其报表所有数据_久其报表制作与分发统一服务平台解决方案
- vim插件管理器:Vundle的介绍及安装
- 12个常见idea快捷键
- wifi信号衰减与距离关系_wifi无线信号传输衰减距离计算公式
- HS系列USB数据采集卡,及高速多通道数据分析软件详解
- Android Jetpack 架构组件之 Room
- 表现与数据分离、web语义化的理解
- 效率神器 SCons 构建工具
热门文章
- linux route 刷新_linux基础命令介绍十五:推陈出新
- java 日期函数转换_java 日期函数转换
- Django模型自定义查询管理器
- webService学习1:myeclipse解析wsdl
- JAVA就业面试题之单例模式
- 2019计算机B级考试题,【资格考试】2019最新整理-计算机等级考试一级B考试题分析.pdf...
- js click 与 onclick 事件绑定,触发与解绑
- 使用OpenCV进行多边形绘制和填充
- python离线安装国内镜像OpenCV
- Scala入门到精通——第十三节 高阶函数