久久中文视频-久久中文网-久久中文亚洲国产-久久中文字幕久久久久-亚洲狠狠成人综合网-亚洲狠狠婷婷综合久久久久


曙海教育集團(tuán)論壇Linux專(zhuān)區(qū)Linux驅(qū)動(dòng)開(kāi)發(fā) → 嵌入式Linux下IC卡接口設(shè)計(jì)與驅(qū)動(dòng)開(kāi)發(fā)


  共有8714人關(guān)注過(guò)本帖樹(shù)形打印

主題:嵌入式Linux下IC卡接口設(shè)計(jì)與驅(qū)動(dòng)開(kāi)發(fā)

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁(yè) | 博客 | 信息 | 搜索 | 郵箱 | 主頁(yè) | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊(cè):2010-11-12 11:08:23
嵌入式Linux下IC卡接口設(shè)計(jì)與驅(qū)動(dòng)開(kāi)發(fā)  發(fā)帖心情 Post By:2010-11-24 9:38:29

中斷處理函數(shù)中采用語(yǔ)句
queue_task(&timer_task,&tq_immediate); <!--ecms.*-->
mark_bh(IMMEDIATE_BH);
實(shí)現(xiàn)了任務(wù)隊(duì)列timer_task加入內(nèi)核tq_immediate的任務(wù)隊(duì)列處理。內(nèi)核在合適的時(shí)間會(huì)自動(dòng)調(diào)用timer_task的例行處理函數(shù)timer_do_taskletO進(jìn)行中斷的后續(xù)處理。   
在time r dO_ta sklet()處理函數(shù)中,有一條語(yǔ)句wake up interruptible(&icde v.writeq)與ic_poll函數(shù)中的D011_wait(flip,&icdev.writeq,wait)相對(duì)應(yīng)。當(dāng)中斷發(fā)生時(shí),將等待時(shí)間隊(duì)列icdev.writeq激活;而poll_wait函數(shù)則針對(duì)此隊(duì)列進(jìn)行監(jiān)控
。一旦被激活,則可以傳遞給用戶插卡操作信息,在用戶應(yīng)用軟件中可立即調(diào)用讀函數(shù)進(jìn)行讀卡操作。這樣就實(shí)現(xiàn)了對(duì)卡的實(shí)時(shí)操作監(jiān)控。


     (5)模塊注銷(xiāo)函數(shù)的實(shí)現(xiàn)
static void_exit
remove_ic(void){ 
m8xx_timer_stop(); 
cpm_free_handler(CPMVEC_TIMERl); 
unregister_chrdev(majorl,“IC”);
}   
這個(gè)函數(shù)也是模塊驅(qū)動(dòng)開(kāi)發(fā)中必不可少的函數(shù)之一,用于模塊卸載時(shí)進(jìn)行資源的釋放,并注銷(xiāo)此模塊。如上函數(shù)所示,首先進(jìn)行了中斷的停止、釋放中斷資源,同時(shí)進(jìn)行了字符設(shè)備的注銷(xiāo)。
(6)設(shè)備讀、寫(xiě)、監(jiān)控等子函數(shù)
用來(lái)實(shí)現(xiàn)對(duì)卡的操作,主要是通過(guò)實(shí)現(xiàn)卡的各種操作時(shí)序。也即在ic_fop s結(jié)構(gòu)體中定義的4個(gè)操作函數(shù):icopen用于打開(kāi)卡設(shè)備,進(jìn)行一些數(shù)據(jù)的初始化操作;icread()用于插卡操作時(shí)讀取卡數(shù)據(jù);icwrite()用于寫(xiě)卡;icpoll()用于實(shí)現(xiàn)卡的實(shí)時(shí)監(jiān)控。   
綜上所述,卡驅(qū)動(dòng)模塊的基本實(shí)現(xiàn)原理是:申請(qǐng)中斷資源,當(dāng)有插卡操作發(fā)生時(shí),引發(fā)中斷,進(jìn)行讀卡操作。在拔卡操作時(shí)也能引發(fā)中斷,同時(shí)進(jìn)行相應(yīng)數(shù)據(jù)處理。同時(shí)提供poll()函數(shù)接口,用戶可采用此函數(shù)對(duì)設(shè)備進(jìn)行監(jiān)控,從而實(shí)現(xiàn)有卡操作發(fā)生時(shí)馬上進(jìn)行卡數(shù)據(jù)的更新。
注:驅(qū)動(dòng)程序源碼見(jiàn)本刊網(wǎng)站W(wǎng)WW.dpj.tom.cn。5  驅(qū)動(dòng)模塊開(kāi)發(fā)的編譯調(diào)試    以開(kāi)發(fā)平臺(tái)和編譯器為例編寫(xiě)簡(jiǎn)單的makefile文件為:
CC=ppc 8xx_gcc
DD=.nostdinc.DMODULE-D_KERNEL_I/mykeme Finclude.Wall-Wstrict-prototypes-Wno-trigraphs-02-fomit-frame-pointer-fno-strict-aliasing-fno-common-I/mykernel/arch/ppc-fsigned-char-resort-float-pipe-ffixed-r2-Wno-uninitialized-mmultiple-mstring-fno-builtin-I/Opt/hardhat/devkit/ppc/8xx/target/usr/lib/gcc-lib/powerpc-hardhat-linux/3.2.1/include ie.o:ic.C 
$(CC)$(DD)-C ic.c
install:   
make ic.o
clean:   
rn*o   
執(zhí)行命令make install,便可以實(shí)現(xiàn)驅(qū)動(dòng)模塊的動(dòng)態(tài)編譯。      
內(nèi)核提供了兩個(gè)應(yīng)用程序insmod和rmmod來(lái)實(shí)現(xiàn)內(nèi)核模塊的動(dòng)態(tài)加載和去除。在模塊編譯當(dāng)前目錄下執(zhí)行命令
mknod/dev/charmodule c2540   
建立與此設(shè)備模塊對(duì)應(yīng)的設(shè)備文件節(jié)點(diǎn)。c表示為字符設(shè)備,254表示主設(shè)備號(hào),0表示子設(shè)備號(hào)。
執(zhí)行命令insmod ic.o,可實(shí)現(xiàn)模塊動(dòng)態(tài)加載;而命令rmmod ic可實(shí)現(xiàn)模塊的動(dòng)態(tài)去除。
 
       6  驅(qū)動(dòng)模塊的靜態(tài)編譯進(jìn)內(nèi)核
①將模塊驅(qū)動(dòng)源文件拷貝進(jìn)/drivers/char/目錄下;
②修改/drivers/char/Makefile文件,添加obj-$(CONFIG_MYMODULE)+=ic.o
③在/drivers/char/config.in文件中添加config CONFIG_MYMODULE
bool “IC”CONFIG_MYMODULE
④進(jìn)入編譯內(nèi)核目錄,執(zhí)行make menuconfig。
在character devices 目錄下即可見(jiàn)到IC選項(xiàng)。選擇,然后執(zhí)行編譯命令,即可編入內(nèi)核或僅編譯模塊:
make mrproper
make menuconfig
make CROSS_COMPILE=ppc_8xx-gcc
make modules CROSS_COMPILE=ppc_8xx-gcc
即可只編譯內(nèi)核。在源文件目錄下可見(jiàn)到ic.o。
 
      7  總結(jié)
     用基本的字符設(shè)備實(shí)現(xiàn)IC卡設(shè)備的驅(qū)動(dòng)模塊開(kāi)發(fā)。內(nèi)核驅(qū)動(dòng)模塊的開(kāi)發(fā)是與硬件直接接觸的。針對(duì)硬件的不同,其內(nèi)部處理方法也千變?nèi)f化。對(duì)于內(nèi)核模塊開(kāi)發(fā),最有效的學(xué)習(xí)途徑和最好的學(xué)習(xí)文檔就是Linux的內(nèi)核源代碼。同時(shí),加入一些Linux的郵件開(kāi)發(fā)組也將獲益匪淺。
 


嵌入式Linux下IC卡接口設(shè)計(jì)與驅(qū)動(dòng)開(kāi)發(fā)

支持(0中立(0反對(duì)(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

嵌入式Linux下IC卡接口設(shè)計(jì)與驅(qū)動(dòng)開(kāi)發(fā)








簽名
主站蜘蛛池模板: 久久不卡日韩美女 | 全球成人网 | 欧美视频久久 | 精品国产爱久久 | 久久久久久国产精品视频 | 国产在线日韩在线 | 国产欧美日韩三级 | 国产精品美女一级在线观看 | 在线成人免费观看国产精品 | 国产精品三级在线播放 | 日本三级精品 | 自拍成人 | 一级女毛片 | 中文精品视频一区二区在线观看 | 欧美一级鲁丝片免费看 | 精品国产精品 | 国产成人欧美视频在线 | 国产精品午夜国产小视频 | 精品久久久久久久九九九精品 | 曰韩毛片| 日本三级网站在线线观看 | 国产美女视频一区 | 精品欧美日韩一区二区三区 | 久久99国产精品久久99果冻传媒 | 久色一区| 99久久精品国产免费 | 99一区二区三区 | 玖玖爱精品 | 亚洲福利视频精选在线视频 | 2022国产精品自拍 | 一级毛片美国 | 亚洲成人黄色在线观看 | 女人张开腿让男人添 | 国产成人免费a在线资源 | 免费五级在线观看日本片 | 久草视频手机在线观看 | 天天看a | 国产精品成人在线 | 成人精品国产亚洲欧洲 | 日韩一级a毛片欧美区 | vr18成人资源 |