運行環境:
內核版本: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/