Linux下pc/sc接口的实现

 

运行环境

  • 内核版本:2.6.23.1-42.fc8
  • OS:fedora8、redhat9
  • 平台:PC

实现步骤:

1、安装libusb(版本0.1.12)。默认生成在/usr/local/lib目录下。

2、安装pcsc-lite,它是独立于设备的API,基于pc/sc规范,可以通过这些接口访问智能卡。在此用的版本为pcsc-lite-1.4.99,安装步骤

  • ./configure(配置编译环境)
  • Make(编译生成libpcsclite.a和libpcsclite.so)
  • Make install

Make生成的.a和.so文件默认在/usr/local/lib下, 运行file *,可以看到:



3、检查/usr/lib/pcsc/目录下是否有读卡器驱动,若没有,安装驱动ccid(此版本为1.3.6)。默认生成在/usr/local/pcsc目录下

4、安装完成后,可以运行src/目录下的testpcsc程序测试PC-linux平台下与智能卡是否可以通讯。注意要先启动pcscd 程序,然后再运行./testpcsc。

编译测试程序如果出错,则须将/usr/locate/lib 加入到/etc/ld.so.conf文件中,别忘了ldconfig.

测试程序运行正确如图:

 


5、将该测试程序移植到arm-linux平台下,需用交叉编译工具重新编译:

  • CC=arm-linux-gcc /configure –host=arm-linux –disable-libusb(配置编译环境)
  • Make(编译生成libpcsclite.a和libpcsclite.so)
  • Make install

CC是定义编译工具,默认为gcc, 在此要保证你的系统中装有arm-linux-gcc交叉编译环境;--host定义编译程序的运行平台,默认为PC-linux,在此我们要在arm下运行,所以改为arm-linux;由于系统中没有libusb故用disable.若有此库可不写。

编译生成pcsclite的动态库(.so)和静态库(.a)同样在/usr/local/lib下可以找到,此时运行命令file *,可以看到:




附:
PCSC卡在linux下的驱动(PCSC-Lite, CCID driver):http://pcsclite.alioth.debian.org/
libusb库下载地址:http://libusb.wiki.sourceforge.net/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值