这里安装目录统一用同一个,不然会有问题,这里统一为安装到/usr/ccid下(有些同学可能是公司的服务器,没有权限安装到/usr目录下,那就安装在你本地,如${PWD}/ccid,然后记得要确认pcsc-lite和ccid源码包里的config.h文件某些定义的路径是否是对的,后面具体会讲)
一、编译libusb
下载地址:https://github.com/libusb/libusb/releases/tag/v1.0.21
1)tar jxvf libusb-1.0.21.tar.bz2
2)./configure CC=arm-linux-gnueabi-gcc host=arm-linux --prefix=/usr/ccid
3)make
4) make install
二、编译pcsc-lite
下载地址:https://alioth-archive.debian.org/releases/pcsclite/pcsclite/1.8.11/
1)tar jxvf pcsc-lite-1.8.11.tar.bz2
2)./configure CC=arm-linux-gnueabi-gcc --host=arm-linux --prefix=/usr/ccid --disable-libudev --enable-libusb LIBUSB_LIBS="-L /usr/ccid/lib -lusb-1.0" LIBUSB_CFLAGS=-I /usr/ccid//include/libusb-1.0 --enable-static
3)make
4)修改config.h文件里的PCSCLITE_HP_DROPDIR,定义为 "/usr/ccid/lib/pcsc/drivers"
5)make
6)make install
三、编译ccid
下载地址:https://alioth-archive.debian.org/releases/pcsclite/ccid/1.4.15/
1)tar jxvf ccid-1.4.15.tar.bz2
2)./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_LIBS="-L /usr/ccid/lib -lpcsclite" PCSC_CFLAGS=-I/usr/ccid/include/PCSC --enable-usbdropdir=/usr/ccid/lib/pcsc/driver
3)make
4)修改PCSCLITE_HP_DROPDIR。 定义为 "/usr/ccid/lib/pcsc/driver"
5)make
6)make install
四、编译pcsc-tools
下载地址:http://ludovic.rousseau.free.fr/softwares/pcsc-tools/
1)tar jxvf pcsc-tools-1.5.4.tar.bz2
2)./configure CC=arm-linux-gnueabi-gcc --host=arm-linux --prefix=/usr/ccid/PCSC_LIBS="-L /usr/ccid/lib -lpcsclite" PCSC_CFLAGS=-I/usr/ccid/include/PCSC
3)make
4)make install
五、测试
1)/usr/ccid/sbin/pcscd &
2)运行/usr/ccid/bin/pcsc_scan,能识别到智能卡设备,并读出ATR。