[原]Linux下pc/sc接口的实现

[原]Linux下pc/sc接口的实现
 

运行环境

  • 内核版本: 2.6.23 .1-42.fc8
  • OSfedora8redhat9
  • 平台:PC

实现步骤:

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

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

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

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

[原]Linux下pc/sc接口的实现_第1张图片

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.

测试程序运行正确如图:

 [原]Linux下pc/sc接口的实现_第2张图片


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

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

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

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

[原]Linux下pc/sc接口的实现_第3张图片


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

你可能感兴趣的:([原]Linux下pc/sc接口的实现)