在加載一個.ko模塊時,也可以像應(yīng)用程序那樣,通過命令行傳入一些參數(shù),這個過程發(fā)生在調(diào)用模塊初始化函數(shù)之前。
內(nèi)核支持的參數(shù)類型有:bool、invbool(反轉(zhuǎn)值bool類型)、charp(字符串指針)、short、int、long、ushort、uint、ulong。這些類型又可以復(fù)合成對應(yīng)的數(shù)組類型。
具體用法,在驅(qū)動中定義三個變量baudrate、port、name:
static int baudrate = 9600;
static int port[4] = {0,1,2,3};
static char *name = "user";
module_param(baudrate, int, S_IRUGO);
module_param_array(port, int, NULL, S_IRUGO);
module_param(name, charp, S_IRUGO);
使用module_param和module_param_array宏聲明這些變量為模塊參數(shù)。說明:
module_param(name,type,perm)
module_param_array(name,type,nump,perm)
name:變量的名字
type:變量或數(shù)組元素的類型
nump:數(shù)組元素個數(shù)的指針,可選
perm:在sysfs文件系統(tǒng)中對應(yīng)文件的權(quán)限屬性。
權(quán)限的取值參考頭文件。
修改這三個變量的值,即加載模塊時傳參:
insmod user.ko baudrate=115200 port=1,2,3,4 name="virtual-serial"
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
模塊
+關(guān)注
關(guān)注
7文章
2849瀏覽量
53463 -
內(nèi)核
+關(guān)注
關(guān)注
4文章
1476瀏覽量
43101 -
驅(qū)動
+關(guān)注
關(guān)注
12文章
1994瀏覽量
88735 -
Linux
+關(guān)注
關(guān)注
88文章
11822瀏覽量
219609
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
linux 了解內(nèi)核模塊的原理 《Rice linux 學(xué)習(xí)開發(fā)》
內(nèi)核模塊是一種沒有經(jīng)過鏈接,不能獨立運行的目標文件,是在內(nèi)核空間中運行的程序。
Linux 內(nèi)核模塊工作原理及內(nèi)核模塊編譯案例
一個內(nèi)核模塊至少包含兩個函數(shù),模塊被加載時執(zhí)行的初始化函數(shù)init_module()和模塊被卸載時執(zhí)行的結(jié)束函數(shù)cleanup_module()。
發(fā)表于 09-23 09:39
?3315次閱讀
Linux內(nèi)核模塊間通訊方法
Linux內(nèi)核模塊間通訊方法非常的多,最便捷的方法莫過于函數(shù)或變量符號導(dǎo)出,然后直接調(diào)用。默認情況下,模塊與模塊之間、模塊與
發(fā)表于 06-07 16:23
?3851次閱讀
Linux內(nèi)核模塊程序結(jié)構(gòu)
Linux設(shè)備驅(qū)動會以內(nèi)核模塊的形式出現(xiàn),因此,學(xué)會編寫Linux內(nèi)核模塊編程是學(xué)習(xí)Linux設(shè)
發(fā)表于 05-27 09:36
Linux內(nèi)核模塊與應(yīng)用程序的對比
用戶態(tài)程序Linux內(nèi)核模塊運行用戶空間 內(nèi)核空間 入口main() module_init()指定; 出口無 module_exit()指定; 編譯gcc –cMakefile 連接
發(fā)表于 07-03 03:15
高效學(xué)習(xí)Linux內(nèi)核——內(nèi)核模塊編譯
情況下,內(nèi)核模塊應(yīng)遵循GPL 兼容許可權(quán)。Linux2.6 內(nèi)核模塊最常見的是以MODULE_LICENSE(“Dual BSD/GPL”)語句聲明模塊采用BSD/GPL 雙LICEN
發(fā)表于 09-24 09:11
《Linux設(shè)備驅(qū)動開發(fā)詳解》第4章、Linux內(nèi)核模塊
《Linux設(shè)備驅(qū)動開發(fā)詳解》第4章、Linux內(nèi)核模塊
發(fā)表于 10-27 14:15
?0次下載
什么是 Linux 內(nèi)核模塊?
lsmod 命令能夠告訴你當(dāng)前系統(tǒng)上加載了哪些內(nèi)核模塊,以及關(guān)于使用它們的一些有趣的細節(jié)。
嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試教程
本文檔的主要內(nèi)容詳細介紹的是嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試教程。
發(fā)表于 11-06 17:32
?21次下載
如何在Petalinux創(chuàng)建Linux內(nèi)核模塊?
--enable”,能創(chuàng)建Linux內(nèi)核模塊,包括c源代碼文件,Makefile,Yocto的bb文件。相關(guān)文件放在目錄“ project-spec / meta-user / recipes-modules”中
嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試
嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試(嵌入式開發(fā)和硬件開發(fā))-嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊
發(fā)表于 07-30 13:55
?10次下載
Linux內(nèi)核模塊參數(shù)傳遞與sysfs文件系統(tǒng)
函數(shù)傳參的內(nèi)核傳參機制,編寫內(nèi)核程序時只要實現(xiàn)傳參接口,用戶在加載內(nèi)核模塊時即可傳入指定參數(shù),使得內(nèi)核模塊更加靈活。
發(fā)表于 06-07 16:23
?3206次閱讀
linux驅(qū)動程序如何加載進內(nèi)核
,需要了解Linux內(nèi)核的基本概念和API。以下是一些關(guān)鍵概念: 1.1 內(nèi)核模塊:Linux內(nèi)核模塊是一種動態(tài)加載和卸載的代碼,可以在不重
Linux驅(qū)動內(nèi)核模塊參數(shù)介紹
評論