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