打印

ST的产品线上面,有唯一标识ID吗?

[复制链接]
647|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mdk55555|  楼主 | 2016-9-12 16:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
xiaolong12| | 2016-9-16 13:53 | 只看该作者
有的,ST所有的产品上面都有唯一UID 的,96位

使用特权

评论回复
板凳
喵喵小星人| | 2016-9-16 16:46 | 只看该作者
STF10x系列都有的,有的是96位,有的是32位

使用特权

评论回复
地板
maninman1981| | 2016-9-17 10:52 | 只看该作者
UID:unique id区别于单片机的Deveice ID(区分是stm32f103还是stm32f030的单片机)
stm32f103系列单片机都有UID,96位,放在3个32位寄存器里面,base address:是0x1ffff7e8,偏移地址分别是:0,4,8;

使用特权

评论回复
5
yysforever| | 2016-9-18 14:09 | 只看该作者
在数据手册里都有,在最后的设备电子签名那里

使用特权

评论回复
6
冰是睡着的冰| | 2016-9-18 16:02 | 只看该作者
tm32F4: 
u32 mcuID[3];
mcuID[0] = *(__IO u32*)(0x1FFF7A10);
    mcuID[1] = *(__IO u32*)(0x1FFF7A14);
    mcuID[2] = *(__IO u32*)(0x1FFF7A18);
printf (" %X %X %X \n",mcuID[0],mcuID[1] ,mcuID[2] );

STM32F1:
SerialID[0] = *(unsigned int*)(0x1FFFF7E8);
    SerialID[1] = *(unsigned int*)(0x1FFFF7EC);
    SerialID[2] = *(unsigned int*)(0x1FFFF7F0);

使用特权

评论回复
7
jouney316| | 2016-9-18 20:31 | 只看该作者
都有唯一的id号的,貌似STM8的产品线没有

使用特权

评论回复
8
Dennis-Zhou| | 2016-9-18 22:04 | 只看该作者
产品唯一的身份标识非常适合:
● 用来作为序列号(例如USB字符序列号或者其他的终端应用)
● 用来作为密码,在编写闪存时,将此唯一标识与软件加解密算法结合使用,提高代码在闪存存储器内的安全性。
● 用来激活带安全机制的自举过程
96位的产品唯一身份标识所提供的参考号码对任意一个STM32微控制器,在任何情况下都是唯一的。用户在何种情况下,都不能修改这个身份标识。
这个96位的产品唯一身份标识,按照用户不同的用法,可以以字节(8位)为单位读取,也可以以半字(16位)或者全字(32位)读取。
基地址:0x1FFF F7E8
每个CPU 出厂的时候都
配置的一个ID,96 位的.这个唯一码可以利用作软件加密.......
static u32 CpuID[3];
static u32 Lock_Code;
void GetLockCode(void)
{
//获取CPU唯一ID
CpuID[0]=*(vu32*)(0x1ffff7e8);
CpuID[1]=*(vu32*)(0x1ffff7ec);
CpuID[2]=*(vu32*)(0x1ffff7f0);
//加密算法,很简单的加密算法
Lock_Code=(CpuID[0]>>1)+(CpuID[1]>>2)+(CpuID[2]>>3);
}

使用特权

评论回复
9
l科科1987| | 2016-9-19 15:15 | 只看该作者
这个早就弄过了。我是把id写入一个存贮芯片里去,上电的时候就读取一下 然后比较一下。可以通过串口写入id到存贮芯片。

使用特权

评论回复
10
dongbaohui| | 2016-9-19 19:40 | 只看该作者
stm32系列的唯一ID是可以被修改的 这个在**行业 已经通天了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

151

帖子

1

粉丝