![]() |
|
Linux內核模塊程序結構 |
|
Linux設備驅動會以內核模塊的形式出現,因此,學會編寫Linux內核模塊編程是學習Linux設備驅動的先決條件。一個Linux內核模塊主要由如下幾個部分組成: (1)模塊加載函數(一般需要)。 當通過insmod或modprobe命令加載內核模塊時,模塊的加載函數會自動被內核執行,完成本模塊的相關初始化工作。 (2)模塊卸載函數(一般需要)。 當通過rmmod命令卸載某模塊時,模塊的卸載函數會自動被內核執行,完成與模塊卸載函數相反的功能。 (3)模塊許可證聲明(必須)。 許可證(LICENSE)聲明描述內核模塊的許可權限,如果不聲明LICENSE,模塊被加載時,將收到內核被污染 (kernel tainted)的警告。 在Linux 2.6內核中,可接受的LICENSE包括"GPL"、"GPL v2"、"GPL and additional rights"、"Dual BSD/GPL"、"Dual MPL/GPL"和"Proprietary"。 大多數情況下,內核模塊應遵循GPL兼容許可權。Linux 2.6內核模塊常見的是以MODULE_LICENSE( "Dual BSD/GPL" )語句聲明模塊采用BSD/GPL雙LICENSE。 (4)模塊參數(可選)。 模塊參數是模塊被加載的時候可以被傳遞給它的值,它本身對應模塊內部的全局變量。 (5)模塊導出符號(可選)。 內核模塊可以導出符號(symbol,對應于函數或變量),這樣其他模塊可以使用本模塊中的變量或函數。 (6)模塊作者等信息聲明(可選)。 華清遠見嵌入式linux視頻教程免費下載 熱點鏈接:
1、典型嵌入式Linux系統設置 |