新闻中心

EEPW首页>嵌入式系统>设计应用> 读取LPC ARM芯片唯一序列号的方法

读取LPC ARM芯片唯一序列号的方法

作者: 时间:2016-11-21 来源:网络 收藏
对于ARM芯片基本都有唯一序列号,这产权保护,产品加密,产品序列号设置带来了极大的方便。但是不同厂家,甚至同一厂家不同系列,读取序列号的方法可能都是不同的。下面就谈谈怎样来读取LPC1100系列芯片序列号的方法及需要注意的地方。

首先需要注意两个概念,产品标识号和产品序列号的区别?

本文引用地址://m.amcfsurvey.com/article/201611/319080.htm

1.产品标识号:对于LPC1100系列,由于有多种型号,而不同的型号,都有不同的标识号。


2.产品序列号:是每一个产品都有的一个位于的序列号,32 位字(ASCII 格式)。

读取产品标识

读取产品标识的方法有很多,下面我们介绍几种方法:

a. 仿真状态下,通过打开外设窗口,选择Deivce ID,打开窗口查看,如下图:

b. 由于LPC1100系统控制寄存器里边有Device ID寄存器,使用我们直接上可以直接读取这个寄存器来读取这个值

b.读取产品标识还有可以通过ISP/IAP来读取,这种方法也是使用NXP芯片通用的方法,下面就接收IAP下读取IAP的方法。

读取标识的方法很简单,代码如下,注意入口参数为54,第一自己输出数据为状态返回值,第二字节才是真正的标识ID.

读取产品序列号

读产品序列号没有这么多种方法,只可以通过ISP/IAP的方式来读取,下面谈谈用IAP命令来读取UID的方法。

7.jpg (36.07 KB)
2012-5-9 22:09

函数代码如下:

8.jpg (62.26 KB)
2012-5-9 22:09

注意事项:由于LPC1100没有Flash重映射功能,我们读中断向量采用的使用重映射到RAM中的,参考《NXP ARM Cortex M0/M3 IAP应用》。使用在使用IAP代码时一定要注意,只能在调用RAM中映射函数之前调用IAP函数来读取UID,否则代码将死在IAP函数中,导致无法读取UID。。。。




评论


技术专区

关闭