PCSC-LITE使用及移植总结
来源:互联网 发布:mac终端获取当前路径 编辑:程序博客网 时间:2024/06/05 19:34
PS:随便学习,随便转载~闻道有先后,术业有专攻 !瞧不起这篇博主:http://blog.csdn.net/wenjunfen/article/details/5025861?reload感觉此人太坐坐了~。
PCSC-Lite应该是Personal Computer/Smart Card lite的缩写。
PCSC-Lite 以后简称PCSC是为智能卡提供驱动和开发的linxu精简版。本文主要总结工作中Linux下使用并移植PCSC的过程和遇到的问题,仅供后来者参考讨论。
1.Linux下PCSC的使用
PCSC包含pcsc-lite和CCID,其中pcsc-lite包含一个pcscd daemon( 守护进程)和一个被调用的库(libpcsclite.so),CCID 是基于用户空间的ccid driver.另外,pcsclite 是在libusb基础开发的。因此系统需要安装libusb。
Pcsc-lite 和CCID官网站点:http://www.musclecard.com/middle.html
Libus 的官方站点:http://www.libusb.org
如果使用的是Ubuntu/Debian系统,也可以用synaptic安装这些软件包。
本文按照源码包进行安装。
系统:Ubuntu 12.04 内核 uname –r 3.11.0-15
包文件:
首先安装libusb,版本号安装pcsc-lite 要求1.0版本以上,采用最新版。(安装包可以用直接拖拽放进虚拟机,具体google)
安装libusb
解压:tar jxvf(-jxvf) libusb-*.*.*.tar.bz2
进入解压后目录执行./configure >log_config
make> log_make
makeinstall >log_make_install
在重定位的log文件里可以看到配置的默认信息和make生产的库以及安装到的目录。也可进行自己配置具体可以查看./configure –help 我理解就是把对应的.h 拷贝到系统能搜索到的文件。动态库文件.so 放到可以搜索的文件(环境变量设置)。pcsc-lite 安装
linux 下安装同理,和1类似:
解压:tar jxvf(-jxvf) pcsc-lite-*.*.*.tar.bz2
进入解压后目录执行./configure >log_config
make > log_make
makeinstall >log_make_install
这次只是多了一个pcscd的守护进程被生成。
具体信息查看log文件。
ccid 安装
解压:tar jxvf(-jxvf) pcsc-lite-*.*.*.tar.bz2
进入解压后目录执行./configure >log_config
make> log_make
makeinstall >log_make_install
这次只是生成里pcsc的一个文件目录,里面有驱动和Info.plist。具体生成过程查看configure和log信息。
首先lsusb查看usb设备,在插入USB读卡器,虚拟机需要点击设备选择虚拟usb 设备选中自己的插入设备,在lsusb 这时有了我们的设备。此时运行pcscd –f –d 具体参数意义查看 pcscd –h。查看pcscd守护进行是否正常运行和退出。这时关闭pcscd进程并打开。运行ccid解压下的example 内的scontrol文件。如果能正确识别SIM卡着环境搭建完成。
Sim卡的APUD交互是上层的应用调用了,具体操作可以在研究。现在已经实现读取sim卡的ICCID和手机号码薄。
2.移植到嵌入式开发环境
系统信息:
IT的AM335X开发板。 移植了uboot 和 内核 内核版本3.2.0。
首先在虚拟机搭建嵌入式开发环境采用源码中的am335xcross安装包,具体要找和自己cpu 对应的交叉编译工具。
安装参考解压后的Readme。
如果在Terminal下输入arm- 加Tab几下有相对于的命令则安装交叉工具完成,就是把交叉编译的bin加入到环境变量。
流程:
由于是交叉编译所以要指定编译后安装到的文件目录用prefix。
libusb 安装:
./configure CC=arm-****-linux-gnueabi-gcc --host=arm-****-linxu prefix=/usr/ccid/
make
make install
pcsc安装:
./configure CC=arm-****-linux-gnueabi-gcc --host=arm-****-linux--prefix=/usr/ccid/ --enable-libusb LIBUSB_LIBS="-L/usr/ccid/lib/ -lusb-1.0"LIBUSB_CFLAGS="-I/us/ccid/include/libusb-1.0/" --enable-static
make
make install
ccid 安装:
./configure CC=arm-****-linux-gnueabi-gcc --host=arm-****-linux--prefix=/usr/ccid/ --enable-libusb LIBUSB_LIBS="-L/usr/ccid/lib –lusb-1.0"LIBUSB_CFLAGS="-I/usr/ccid/include/libusb-1.0/" PCSC_CFLAGS="-I/usr/ccid/include/PCSC/"PCSC_LIBS="/usr/ccid/lib/ -lpcsclite "--enable-usbdropdir="/usr/ccid/pcsc/drivers/"
make
make install
到此为止交叉编译完成。需要把生成的ccid 文件拷贝到开发板对应的/usr 下。
并把库文件加入到环境变量。
运行pcscd : ./usr/ccid/sbin/pcscd –f –d 查看。
正常读取驱动,这在关闭开启这个守护进程。
将虚拟机下的ccid源文件下的example生成的scontrol拷贝到开发板,运行。注意:调试时一定要lsusb查看是否有读卡器插入。首先pcscd 以debug模式开启,查看服务的驱动是否在对呀目录。
- PCSC-LITE使用及移植总结
- Sourcery CodeBech Lite安装及使用
- Sourcery CodeBech Lite安装及使用
- PCSC
- PCSc
- Sourcery CodeBech Lite安装及使用
- Sourcery CodeBech Lite安装及使用
- Embedded linux移植常见错误及使用总结
- Linux 平台下Libusb & ccid & pcsc-lite & OpenSC 通用安装步骤
- Linux 平台下Libusb & ccid & pcsc-lite & OpenSC 通用安装步骤
- orm Lite的使用
- lite-server工具使用
- mplayer安装、移植及使用
- FreeTDS的使用及移植
- Flash cs 3 开发flash lite 2.0 使用软键中的错误及解决办法
- Flash 8:使用Flash Lite
- Etherpad-Lite 使用 Radius 认证
- lite源码阅读(六)总结
- VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图,柱状图)
- Python正则表达式指南
- java配置plupload
- Android 客户端与服务器交互方式
- 一段python从mysql数据库中取数据并且求平均值的代码
- PCSC-LITE使用及移植总结
- PHP之输出"hello World"
- 微信公众平台消息接口开发(8)小黄鸡(小贱鸡)机器人
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- ArcGlobe三维开发之八————由指定路径创建动画(接口)
- C#中的事务处理
- Linux下LDAP Server/Client配置 --OpenLDAP
- CF 407C Curious Array(差分序列)
- error C2440: 如无法从“const char [N]”转换为“LPCWSTR” 的一点总结