驅動程序如何實現設備函數對外圍設備操作及控制解析方案
4結論
(1) 加載驅動程序。驅動程序中的初始化函數申請設備名和主設備號,這些可以在/proc/devieces目錄中查看到。 (2)從/proc /devices中獲得主設備號,驅動程序加載成功后建立設備節點文件。通過主設備號將設備節點文件和設備驅動程序聯系在一起。設備節點文件中的file 屬性中指明了驅動程序中fops方法實現的函數指針。 (3)用戶程序使用open打開設備節點文件,這時操作系統內核知道該驅動程序工作了,就調用 fops方法中的open函數進行相應的工作。 (4)當用戶使用write函數操作設備文件時,操作系統調用內核中的sys_write函數,該函數首先通過文件描述符得到設備節點文件對應的inode指針和filp指針。 (5)然后sys_write才會調用驅動程序中的write方法來對設備進行寫的操作。用戶的write函數和驅動程序的write函數通過系統調用sys_write聯系到了一起。本文以設備文件操作控制函數write為例來闡述整個函數的調用過程,其它函數的過程基本相同,本文不再詳述。
本文的創新點在于闡述了嵌入式應用程序中對外部設備操作控制函數的實現機制及具體過程的分析,在目前的文獻中很少有具體的分析,是作者在具體開發過程中的經驗總結。
評論