頻譜儀多種內(nèi)核通信機(jī)制的方案設(shè)計(jì)
對(duì)于HPI設(shè)備的注冊(cè),為HPI設(shè)備分配系統(tǒng)未使用的254作為主設(shè)備號(hào),0為次設(shè)備號(hào)。通過(guò)register_chrdev_region函數(shù)向內(nèi)核注冊(cè)。函數(shù)cdev_init是初始化設(shè)備,其實(shí)就是建立設(shè)備與file_operations結(jié)構(gòu)的對(duì)應(yīng)關(guān)系。最后將設(shè)備加入內(nèi)核。代碼如下:
上述的代碼都是在驅(qū)動(dòng)模塊的hpi_init函數(shù)中實(shí)現(xiàn)。在HPI驅(qū)動(dòng)被加載到內(nèi)核時(shí)就完成了一系列初始化。
4.1.3 file_operations結(jié)構(gòu)中函數(shù)的實(shí)現(xiàn)
設(shè)計(jì)驅(qū)動(dòng)的大部分工作就是實(shí)現(xiàn)file_operations結(jié)構(gòu)中的函數(shù)。代碼如下:
評(píng)論