【導(dǎo)讀】式Linux最基本、也是最常用的驅(qū)動(dòng)程序。字符設(shè)備在Linux內(nèi)核中使用structcdev結(jié)構(gòu)。設(shè)計(jì)中起著關(guān)鍵的作用。設(shè)備類(lèi)型和設(shè)備號(hào)。對(duì)字符設(shè)備的訪(fǎng)問(wèn)是通過(guò)文件系統(tǒng)內(nèi)的設(shè)。//指向擁有該結(jié)構(gòu)的模塊的指針,一般初始化為T(mén)HIS_MODULE. //用來(lái)改變文件中的當(dāng)前讀/寫(xiě)位置。//用來(lái)讀取目錄,對(duì)于設(shè)備文件,該成員應(yīng)當(dāng)為NULL. //輪詢(xún)函數(shù),查詢(xún)對(duì)一個(gè)或多個(gè)文件描述符的讀或?qū)懯欠駮?huì)阻塞。//在64位系統(tǒng)上,使用32位的ioctl調(diào)用將使用此函數(shù)代替。//用來(lái)將設(shè)備內(nèi)存映射到進(jìn)程的地址空間。//執(zhí)行并等待設(shè)備的任何未完成的操作。//用來(lái)刷新待處理的數(shù)據(jù)。//通知設(shè)備FASYNC標(biāo)志的改變。//用來(lái)實(shí)現(xiàn)文件加鎖,通常設(shè)備文件不需要實(shí)現(xiàn)此函數(shù)。file結(jié)構(gòu)體在<linux/>中定義。調(diào)用open的mod_tmode參數(shù)。Inode是一個(gè)內(nèi)核文件系統(tǒng)索引節(jié)點(diǎn)對(duì)象,表示打開(kāi)文件的結(jié)構(gòu)體。在ARM里,所有I/O都是通用的,稱(chēng)為GPIO. 每個(gè)GPIO端口一般包含8個(gè)引腳,例如PA端口為