歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下pc/sc接口的實現

Linux下pc/sc接口的實現

日期:2017/2/28 16:17:02   编辑:Linux教程

運行環境:

內核版本: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/

Copyright © Linux教程網 All Rights Reserved