0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux驅(qū)動內(nèi)核模塊參數(shù)介紹

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-26 17:01 ? 次閱讀

在加載一個.ko模塊時,也可以像應(yīng)用程序那樣,通過命令行傳入一些參數(shù),這個過程發(fā)生在調(diào)用模塊初始化函數(shù)之前。

內(nèi)核支持的參數(shù)類型有:bool、invbool(反轉(zhuǎn)值bool類型)、charp(字符串指針)、short、int、long、ushortuint、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_parammodule_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

    文章

    2713

    瀏覽量

    47485
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1372

    瀏覽量

    40293
  • 驅(qū)動
    +關(guān)注

    關(guān)注

    12

    文章

    1840

    瀏覽量

    85296
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209535
收藏 人收藏

    評論

    相關(guān)推薦

    linux 了解內(nèi)核模塊的原理 《Rice linux 學(xué)習(xí)開發(fā)》

    內(nèi)核模塊是一種沒有經(jīng)過鏈接,不能獨立運行的目標(biāo)文件,是在內(nèi)核空間中運行的程序。
    的頭像 發(fā)表于 07-16 10:08 ?4670次閱讀
    <b class='flag-5'>linux</b> 了解<b class='flag-5'>內(nèi)核模塊</b>的原理 《Rice <b class='flag-5'>linux</b> 學(xué)習(xí)開發(fā)》

    Linux 內(nèi)核模塊工作原理及內(nèi)核模塊編譯案例

    一個內(nèi)核模塊至少包含兩個函數(shù),模塊被加載時執(zhí)行的初始化函數(shù)init_module()和模塊被卸載時執(zhí)行的結(jié)束函數(shù)cleanup_module()。
    發(fā)表于 09-23 09:39 ?2508次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>內(nèi)核模塊</b>工作原理及<b class='flag-5'>內(nèi)核模塊</b>編譯案例

    Linux內(nèi)核模塊間通訊方法

    Linux內(nèi)核模塊間通訊方法非常的多,最便捷的方法莫過于函數(shù)或變量符號導(dǎo)出,然后直接調(diào)用。默認(rèn)情況下,模塊模塊之間、模塊
    發(fā)表于 06-07 16:23 ?2557次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核模塊</b>間通訊方法

    RZ/G2L Linux系統(tǒng)如何添加新的內(nèi)核模塊

    RZ/G2L Linux系統(tǒng)的鏡像基于yocto構(gòu)建,本篇介紹如何添加新的內(nèi)核模塊。
    的頭像 發(fā)表于 01-04 12:19 ?1789次閱讀
    RZ/G2L <b class='flag-5'>Linux</b>系統(tǒng)如何添加新的<b class='flag-5'>內(nèi)核模塊</b>

    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次下載
    《<b class='flag-5'>Linux</b>設(shè)備<b class='flag-5'>驅(qū)動</b>開發(fā)詳解》第4章、<b class='flag-5'>Linux</b><b class='flag-5'>內(nèi)核模塊</b>

    什么是 Linux 內(nèi)核模塊?

    lsmod 命令能夠告訴你當(dāng)前系統(tǒng)上加載了哪些內(nèi)核模塊,以及關(guān)于使用它們的一些有趣的細(xì)節(jié)。
    的頭像 發(fā)表于 08-09 17:01 ?3248次閱讀

    嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試教程

    本文檔的主要內(nèi)容詳細(xì)介紹的是嵌入式LINUX系統(tǒng)內(nèi)核內(nèi)核模塊調(diào)試教程。
    發(fā)表于 11-06 17:32 ?21次下載
    嵌入式<b class='flag-5'>LINUX</b>系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核模塊</b>調(diào)試教程

    如何在Petalinux創(chuàng)建Linux內(nèi)核模塊?

    --enable”,能創(chuàng)建Linux內(nèi)核模塊,包括c源代碼文件,Makefile,Yocto的bb文件。相關(guān)文件放在目錄“ project-spec / meta-user / recipes-modules”中
    的頭像 發(fā)表于 03-02 11:10 ?4377次閱讀

    Asterisk內(nèi)核模塊介紹

    主要闡述Asterisk內(nèi)核模塊的基礎(chǔ)知識。
    發(fā)表于 03-17 13:47 ?7次下載

    嵌入式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次下載
    嵌入式<b class='flag-5'>LINUX</b>系統(tǒng)<b class='flag-5'>內(nèi)核</b>和<b class='flag-5'>內(nèi)核模塊</b>調(diào)試

    Linux內(nèi)核模塊參數(shù)傳遞與sysfs文件系統(tǒng)

    函數(shù)傳參的內(nèi)核傳參機(jī)制,編寫內(nèi)核程序時只要實現(xiàn)傳參接口,用戶在加載內(nèi)核模塊時即可傳入指定參數(shù),使得內(nèi)核模塊更加靈活。
    發(fā)表于 06-07 16:23 ?2140次閱讀

    linux驅(qū)動程序如何加載進(jìn)內(nèi)核

    ,需要了解Linux內(nèi)核的基本概念和API。以下是一些關(guān)鍵概念: 1.1 內(nèi)核模塊Linux內(nèi)核模塊是一種動態(tài)加載和卸載的代碼,可以在不重
    的頭像 發(fā)表于 08-30 15:02 ?474次閱讀