運(yùn)行環(huán)境:
- 內(nèi)核版本:2.6.23.1-42.fc8
- OS:fedora8、redhat9
- 平臺(tái):PC
實(shí)現(xiàn)步驟:
1、安裝libusb(版本0.1.12)。默認(rèn)生成在/usr/local/lib目錄下。
2、安裝pcsc-lite,它是獨(dú)立于設(shè)備的API,基于pc/sc規(guī)范,可以通過(guò)這些接口訪問(wèn)智能卡。在此用的版本為pcsc-lite-1.4.99,安裝步驟
- ./configure(配置編譯環(huán)境)
- Make(編譯生成libpcsclite.a和libpcsclite.so)
- Make install
Make生成的.a和.so文件默認(rèn)在/usr/local/lib下, 運(yùn)行file *,可以看到:

3、檢查/usr/lib/pcsc/目錄下是否有讀卡器驅(qū)動(dòng),若沒(méi)有,安裝驅(qū)動(dòng)ccid(此版本為1.3.6)。默認(rèn)生成在/usr/local/pcsc目錄下
4、安裝完成后,可以運(yùn)行src/目錄下的testpcsc程序測(cè)試PC-linux平臺(tái)下與智能卡是否可以通訊。注意要先啟動(dòng)pcscd 程序,然后再運(yùn)行./testpcsc。
編譯測(cè)試程序如果出錯(cuò),則須將/usr/locate/lib 加入到/etc/ld.so.conf文件中,別忘了ldconfig.
測(cè)試程序運(yùn)行正確如圖:

5、將該測(cè)試程序移植到arm-linux平臺(tái)下,需用交叉編譯工具重新編譯:
- CC=arm-linux-gcc /configure –host=arm-linux –disable-libusb(配置編譯環(huán)境)
- Make(編譯生成libpcsclite.a和libpcsclite.so)
- Make install
CC是定義編譯工具,默認(rèn)為gcc, 在此要保證你的系統(tǒng)中裝有arm-linux-gcc交叉編譯環(huán)境;--host定義編譯程序的運(yùn)行平臺(tái),默認(rèn)為PC-linux,在此我們要在arm下運(yùn)行,所以改為arm-linux;由于系統(tǒng)中沒(méi)有libusb故用disable.若有此庫(kù)可不寫。
編譯生成pcsclite的動(dòng)態(tài)庫(kù)(.so)和靜態(tài)庫(kù)(.a)同樣在/usr/local/lib下可以找到,此時(shí)運(yùn)行命令file *,可以看到:

附:
PCSC卡在linux下的驅(qū)動(dòng)(PCSC-Lite, CCID driver):http://pcsclite.alioth.debian.org/
libusb庫(kù)下載地址:http://libusb.wiki.sourceforge.net/
posted on 2009-07-17 13:36
Bluesea 閱讀(6566)
評(píng)論(5) 編輯 收藏 引用 所屬分類:
SmartCard