STM32实验连载之四:读取芯片唯一ID号

发布者:老桃子最新更新时间:2015-11-19 来源: eefocus关键字:STM32  芯片  唯一ID号 手机看文章 扫描二维码
随时随地手机看文章
产品唯一的身份标识的作用:
    ●  用来作为序列号(例如USB字符序列号或者其他的终端应用);
    ●  用来作为密码,在编写闪存时,将此唯一标识与软件加解密算法结合使用,提高代码在闪存存储器内的安全性;
    ●  用来激活带安全机制的自举过程;
     96位的产品唯一身份标识所提供的参考号码对任意一个STM32微控制器,在任何情况下都是唯一的。用户在何种情况下,都不能修改这个身份标识。按照用户不同的用法,可以以字节(8位)为单位读取,也可以以半字(16位)或者全字(32位)读取。嘿嘿,要注意大端小端模式哟~~~
以下是相关代码:
函数名:Get_ChipID
 描述  :获取芯片ID
 输入  :无
 输出  :无
 说明  :96位的ID是stm32唯一身份标识,可以以8bit、16bit、32bit读取
           提供了大端和小端两种表示方法
void Get_ChipID(void)
{
#if 1
    u32 ChipUniqueID[3];
     地址从小到大,先放低字节,再放高字节:小端模式
     地址从小到大,先放高字节,再放低字节:大端模式
 ChipUniqueID[2] = *(__IO u32*)(0X1FFFF7E8);  // 低字节
 ChipUniqueID[1] = *(__IO u32 *)(0X1FFFF7EC); // 
 ChipUniqueID[0] = *(__IO u32 *)(0X1FFFF7F0); // 高字节
 printf("######## 芯片的唯一ID为: X-X-X  rn",ChipUniqueID[0],ChipUniqueID[1],ChipUniqueID[2]);
          //此条语句输出32位
#else   //调整了大小端模式,与ISP下载软件的一致
    u8 temp[12];   
    u32 temp0,temp1,temp2;
    temp0=*(__IO u32*)(0x1FFFF7E8);    //产品唯一身份标识寄存器(96位)
    temp1=*(__IO u32*)(0x1FFFF7EC);
    temp2=*(__IO u32*)(0x1FFFF7F0);
    temp[0] = (u8)(temp0 & 0x000000FF);
    temp[1] = (u8)((temp0 & 0x0000FF00)>>8);
    temp[2] = (u8)((temp0 & 0x00FF0000)>>16);
    temp[3] = (u8)((temp0 & 0xFF000000)>>24);
    temp[4] = (u8)(temp1 & 0x000000FF);
    temp[5] = (u8)((temp1 & 0x0000FF00)>>8);
    temp[6] = (u8)((temp1 & 0x00FF0000)>>16);
    temp[7] = (u8)((temp1 & 0xFF000000)>>24);
    temp[8] = (u8)(temp2 & 0x000000FF);
    temp[9] = (u8)((temp2 & 0x0000FF00)>>8);
    temp[10] = (u8)((temp2 & 0x00FF0000)>>16);
    temp[11] = (u8)((temp2 & 0xFF000000)>>24);
    printf("######## STM32芯片ID为: %.2X%.2X%.2X%.2X-%.2X%.2X%.2X%.2X-%.2X%.2X%.2X%.2X rn",
  temp[0],temp[1],temp[2],temp[3],temp[4],temp[5],temp[6],temp[7],temp[8],temp[9],temp[10],temp [11]); //串口打印出芯片ID
#endif
}
 函数名:Get_ChipInfo(void)
 描述  :获取芯片Flash 大小
 输入  :无
 输出  :无
 说明  
void Get_ChipInfo(void)
{
   uint32_t ChipUniqueID[3];
  u16 STM32_FLASH_SIZE;
   ChipUniqueID[0] = *(__IO u32 *)(0X1FFFF7F0); // 高字节
   ChipUniqueID[1] = *(__IO u32 *)(0X1FFFF7EC); //
   ChipUniqueID[2] = *(__IO u32 *)(0X1FFFF7E8); // 低字节
   STM32_FLASH_SIZE= *(u16*)(0x1FFFF7E0);    //闪存容量寄存器  
   printf("rn########### 芯片的唯一ID为: %X-%X-%X n",
           ChipUniqueID[0],ChipUniqueID[1],ChipUniqueID[2]);  
   printf("rn########### 芯片flash的容量为: %dK n", STM32_FLASH_SIZE);
   printf("rn########### 烧录日期: "__DATE__" - "__TIME__"n");
      //输出使用固件库版本号
  printf("rn########### 代码固件库版本: V %d.%d.%d n",__STM32F10X_STDPERIPH_VERSION_MAIN,__STM32F10X_STDPERIPH_VERSION_SUB1,__STM32F10X_STDPERIPH_VERSION_SUB2);  
}


 实验效果图:
[转载]STM32实验连载之四:读取芯片唯一ID号

 



关键字:STM32  芯片  唯一ID号 引用地址:STM32实验连载之四:读取芯片唯一ID号

上一篇:STM32中比较常见的两个问题
下一篇:stm32 串口第一字节丢失问题分析

推荐阅读最新更新时间:2024-03-16 14:40

网友爆出小米诺基亚合作内容:诺基亚要用澎湃S1芯片
   7月4日消息,之前有爆料小米与诺基亚合作,具体合作什么还未知。现在最新消息,小米与诺基亚已经达成战略合作,有微博网友爆料合作原因,竟然是诺基亚新机要用彭拜S1处理器。   据消息了解,来自微博网友爆料从小米内部得到消息,小米与诺基亚合作具体就是“诺基亚要用澎湃S1处理器。”诺基亚为何要用小米家的彭拜处理器?很多业界人士都不太理解。   澎湃S1处理器采用big.LITTLE架构,八核处理器是4 A53大核+4 A53小核组合,最高主频2.2GHz(小核主频1.4GHz),内置的GPU为MaliT860 MP4,同时支持双通道LPDDR3 933MHz和eMMC 5.0存储标准,单镜头最高支持3600万像素,最高支持屏幕分辨率
[手机便携]
英国芯片厂商Imagination同意出售给Canyon Bridge
网易科技讯9月23日消息,据国外媒体报道,Imagination Technologies Group Plc(以下简称“Imagination”)同意由中国背景的私募基金Canyon Bridge Capital Partners(以下简称“Canyon Bridge”)收购。 Canyon Bridge表示,它将按照每股182便士现金即总计5亿英镑(约合6.75亿美元)进行支付来收购这家英国图像处理芯片设计公司。与Imagination当地时间周五收盘价相比,这个收购价格要高出42%。 Canyon Bridge表示,作为该交易的一个组成部分,Imagination将出售旗下位于美国的嵌入式处理器分部MIPS给Tall
[半导体设计/制造]
探秘:车载多媒体的收音调谐芯片哪家强?
随电子技术和智能终端设备的发展,作为其重要应用之一的汽车电子正呈现爆炸式的增长,其中车载信息娱乐系统和车载多媒体的设计向更注重用户体验的方向迈进。系统的标配功能为FM/AM,以及技术相当成熟的RDS信息服务功能。 高集成度汽车 收音机调谐器IC Silicon Labs的 100% CMOS 汽车调谐器具有汽车市场上的从天线到音频的全部接收功能。能够支持全世界频带要求,包括 FM、AM、短波 (SW)、长波 (LW)、NOAA 气候频带 (WB)、FM 无线电数据系统 (RDS)。做为业界集成度最高的汽车收音机调谐器IC系列产品,给汽车收音机开发人员提供了开发单一设计满足多种全球市场需求的灵活性。   图:Si47
[嵌入式]
Melexis 推出尺寸更为小巧的全集成 LIN 驱动芯片,可驱动继电器控制的车窗升降器
Melexis 推出尺寸更为小巧的全集成 LIN 驱动芯片,可驱动继电器控制的车窗升降器 在紧凑的 QFN24 封装(4 mm × 4 mm)内提供 48 KB 内存,用于驱动颇具成本效益的继电器控制直流电机应用 2022 年 10 月 21 日, 比利时泰森德洛 - 全球微电子工程公司 Melexis 今日宣布推出面向继电器控制直流电机应用的全新 LIN 预驱动芯片 MLX81160。 该芯片是Melexis第三代兼容性嵌入式电机驱动芯片系列的最新成员,兼具功率高、设计紧凑和性价比高等优点。该产品提供 48 KB 内存(16 KB ROM 用于内置 LIN 协议,32 KB 闪存用于应用软件),非常适用于车窗调节器
[电源管理]
Melexis 推出尺寸更为小巧的全集成 LIN 驱动<font color='red'>芯片</font>,可驱动继电器控制的车窗升降器
气体超声流量计的流标定与现场应用
天然气计量系统与现状 目前,在中国天然气计量系统中以孔板流量计为主。众所周知,孔板流量计由节流装置、导压管路系统、差压计组成。其特点是量程比小,压损大,对脉动流很敏感,不可以测双向流等。虽然孔板流量计已有上百年的历史,但由于计量仪表误差(节流装置的设计、制造、安装和使用条件不符合ISO5167-1 的要求,或者仪表选择不当)以及使用条件变化带来的误差(较长时间内,流量的变化超出了所选仪表的测量范围,或者脉动流的产生),往往使孔板流量计的精度不能优于±1.5%。尽管ISO/TR3313 已对脉动流的抑制及误差估 计提供一些数据供用户使用参考,但要应付现场的需要仍有很多不足之处:①现场的阻流件类型远多于标准中提供的,并且阻流件的组合形
[测试测量]
裸眼3D单芯片解决方案
近年来,随着平板显示技术与相关材料领域技术的不断进步,以及好莱坞对3D显示技术的运用和推动,3D显示技术正离我们越来越近。这种对3D显示的追求是符合显示技术发展规律的。在显示领域中,我们经历了从黑白到彩色,从彩色到高清的技术跨越,而今从2D显示跨越到3D显示的时机已经来临。 目前我们较多接触到的3D显示技术有两类:眼镜式3D显示;无需眼镜的3D显示(即裸眼3D显示)。此外还有全息显示等,但是全息技术目前还很难推广。眼镜式3D显示,顾名思义就是需要用户佩戴专门的3D眼镜,通过让眼睛分别观察到有视差的图像而形成3D效果。眼镜式3D显示是目前电影院和3D电视常采用的技术模式。眼镜式3D显示的技术门槛低、实现简单,但是存在着需改变用户
[嵌入式]
STM32学习笔记-ADC采集-串口2发送至上位机
串口2的配置(一根杜邦线不行纠结了半天) void USART2_Initialise( u32 bound ) { GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE); /* Enable the USART2 Pins Software Remapping */ RCC_APB2
[单片机]
<font color='red'>STM32</font>学习笔记-ADC采集-串口2发送至上位机
这颗“老”芯片,又被盯上了
过年期间,一则消息没有引起多数人注意。MPS宣布收购总部位于荷兰的初创公司Axign B.V., 该公司专注于可编程多核DSP(数字信号处理器)研发,其音频处理器技术能够为汽车和消费类音频系统提供近乎零失真的信号,同时做到显著降低功耗。 而在前阵子,炬芯挺进汽车音频DSP芯片领域,布局全资子公司注资上海炬迪,珠海熠芯拟与迪鼎瑞、迪威声、锐声泰共同出资来投资上海炬迪,助力上海炬迪公司DSP芯片与技术的研发,这也标志着炬芯科技正式进军汽车音频DSP芯片领域。 前一个月,AKM旭化成微电子也推出了全新车载音频DSP。 随着汽车智能化需求提升,音频DSP(Audio DSP,ADSP)作为老兵又一次默默被人所注视,一场暗战再临
[嵌入式]
这颗“老”<font color='red'>芯片</font>,又被盯上了
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved