頻譜儀多種內(nèi)核通信機(jī)制的方案設(shè)計(jì)
對于HPI設(shè)備的注冊,為HPI設(shè)備分配系統(tǒng)未使用的254作為主設(shè)備號,0為次設(shè)備號。通過register_chrdev_region函數(shù)向內(nèi)核注冊。函數(shù)cdev_init是初始化設(shè)備,其實(shí)就是建立設(shè)備與file_operations結(jié)構(gòu)的對應(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ù)。代碼如下:


評論