9383|22

73

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WinCE下取得硬件唯一标识 [复制链接]

首先问一下,硬件唯一标识是不是就是指IMEI号。

如果硬件唯一标识是指IMEI号,那么在WinCE5.0下如何取得呢,我找了资料了,很多人说用“lineGetGeneralInfo”这个方法,但是我在WinCE5.0上试了,首先WinCE5.0的SDK中没有CellCore.lib,我下载了WM的SDK,从中找到了CellCore.lib,编译连接通过,但是在WinCE5.0环境不能运行。

我又找了其它方法,KernelIoControl,使用方法如下:

#define IOCTL_HAL_GET_DEVICEID CTL_CODE(FILE_DEVICE_HAL, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
if (KernelIoControl (IOCTL_HAL_GET_DEVICEID, NULL, 0, (LPVOID)DeviceID, Len, &Len))
{... ...}

但是在不同的硬件上取得的DeviceID是一样的,比如SMDK2443 Board,在好几台机器上都是这个值,这还算什么唯一标识呢?
而且“SMDK2443 Board”这个值,用GetSystemInfo()也同样能取得,取得方法如下:
SYSTEM_INFO stSystemInfo = {0};
GetSystemInfo( &stSystemInfo );
stSystemInfo.dwProcessorType中保存的就是“SMDK2443 Board”了。

那么用“KernelIoControl ”和“GetSystemInfo”都能取到同样的值,这也肯定不是硬件唯一标识了。


有人能说一下,到底如何能取到硬件唯一标识吗???万分感谢。

最新回复

wince的id有非常重要作用,至少DRM会使用。 最正规做法,OEM做BSP时候从芯片中读取ID值,如mips每块ic做好时候都有唯一的ID号。 arm好像是没有的,换个做法可以从eprom读取,或者外加一个IC。  详情 回复 发表于 2009-6-5 17:06
点赞 关注

回复
举报

90

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
不是IMEI号,因为CE下一般没有IMEI号

这个需要硬件提供支持
 
 

回复

98

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
这个是要OEM作的,也就是说在OAL层的OEMIOCONTROL需要添加支持使用查询平台ID的代码,然后驱动或应用可以使用KernelIoControl去获取。

比如,你在FLASH里专门找块地址来存取平台信息,其中包括FLASHID,那么你在FLASH驱动里可以把从芯片读取的ID写到相应的平台信息区,这样上层就可以用KernelIoControl( IOCTL_HAL_GET_DEVICE_FLASHID_INFO...)查询!
个人见解!
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

4
 
需要BSP的OAL提供相应的接口支持,这样才能读得到相应的Device ID
一般的做法是通过Flash的ID号来区分不同的硬件的
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

5
 
引用 3 楼 hzdysymbol 的回复:
需要BSP的OAL提供相应的接口支持,这样才能读得到相应的Device ID
一般的做法是通过Flash的ID号来区分不同的硬件的


麻烦问一下,如何能取到Flash的ID号?
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 3 楼 hzdysymbol 的回复:
需要BSP的OAL提供相应的接口支持,这样才能读得到相应的Device ID
一般的做法是通过Flash的ID号来区分不同的硬件的


不是所有Flash都有ID的,确切的说只有很少品牌的Flash,例如三星的才有,大部分都是没有ID可读的
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

7
 
SMDK2443 如果有网卡的话,不妨试试读取网卡ID
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

8
 
读网卡mac地址试试。
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

9
 
WinCE 唯一ID是假的,骗人的,忽悠小孩玩的。
 
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

10
 
可以读取MAC地址,但是在引用System.Management 时错误,不知道怎么解决,可以共同探讨一下。
 
 
 

回复

129

帖子

0

TA的资源

一粒金砂(初级)

11
 
学习
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

12
 
省事点....UUID做 唯一识别ID
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

13
 
mark
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

14
 
取不到IMEI,那就只能联系硬件厂商了。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

15
 
有些设备返回0,WINCE下硬件没有统一唯一标识
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

16
 
你的设备包含写什么东东,如果有硬盘/网卡的话,可以用硬盘/网卡的的ID,读Flash的ID不推荐,并不是唯一的
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

17
 
IMEI
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

18
 
NAND FLASH的ID仅仅是FLASH型号,不唯一。
IMEI在wince下没有。
CPU的ID也仅仅是生产商和型号,不唯一。

wince下没有标准的唯一ID。如果硬件上没有提供,那就无法实现。
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 17 楼 shuiyan 的回复:
NAND FLASH的ID仅仅是FLASH型号,不唯一。
IMEI在wince下没有。
CPU的ID也仅仅是生产商和型号,不唯一。

wince下没有标准的唯一ID。如果硬件上没有提供,那就无法实现。
觉得你说的有道理,Intel的CPU ID我实验过PII,PIII结果很多都一样。
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

20
 
at+cgsn可以用这个来获得GSM模块的IMEI号。。这个也算是硬件上的。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表