佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Linux實(shí)現(xiàn)驅(qū)動(dòng)模塊傳參過(guò)程解析

Linux實(shí)現(xiàn)驅(qū)動(dòng)模塊傳參過(guò)程解析

熱門(mén)標(biāo)簽:硅谷的囚徒呼叫中心 阿里云 網(wǎng)站建設(shè) 美圖手機(jī) 檢查注冊(cè)表項(xiàng) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 使用U盤(pán)裝系統(tǒng) 智能手機(jī)

在驅(qū)動(dòng)的模塊中聲明一下你要傳遞的參數(shù)名稱(chēng),類(lèi)型和權(quán)限

module_param(變量的名稱(chēng),類(lèi)型,權(quán)限);

#include <linux/init.h>
#include <linux/module.h>

static char *p_name = "Usr";
module_param(p_name, charp, S_IRUGO);
MODULE_PARM_DESC(p_name, "This is a char * string.");

static int __init hi_init(void)
{
  printk(KERN_INFO "Hi enter %s\n",p_name);
  return 0;
}
module_init(hi_init);

static void __exit hi_exit(void)
{
  printk(KERN_INFO "Hi exit %s\n ",p_name);
}
module_exit(hi_exit);

MODULE_AUTHOR(" libra13179 ");
MODULE_LICENSE("GPL v2");
KVERS = $(shell uname -r)

# Kernel modules
obj-m += hi.o

# Specify flags for the module compilation.
#EXTRA_CFLAGS=-g -O0

build: kernel_modules

kernel_modules:
  make -C /lib/modules/$(KVERS)/build M=$(CURDIR) modules
#  @echo $(KVERS)

clean:
  make -C /lib/modules/$(KVERS)/build M=$(CURDIR) clean

不設(shè)置時(shí)候使用默認(rèn)的

root@lin-virtual-machine:/home/lin/hi# insmod ./hi.ko
root@lin-virtual-machine:/home/lin/hi# cat /var/log/syslog | grep Hi
...
Jul 25 15:11:38 lin-virtual-machine kernel: [ 203.238178] Hi enter Usr
...

使用設(shè)置時(shí)候

root@lin-virtual-machine:/home/lin/hi# insmod hi.ko p_name='God'

加載模塊后,都會(huì)在/sys/modules下生成一個(gè)模塊的文件夾,文件夾下會(huì)有一個(gè)parameters文件夾,

里面包含的就是以參數(shù)名命名的文件節(jié)點(diǎn),里面保存的就是我們?cè)O(shè)置的值,例如在p_name中

root@lin-virtual-machine:/home/lin/hi# cat /sys/module/hi/parameters/p_name
God

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:湘潭 賀州 懷化 煙臺(tái) 通遼 山南 黃山 湖北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux實(shí)現(xiàn)驅(qū)動(dòng)模塊傳參過(guò)程解析》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266
    孝感市| 蓬莱市| 阿城市| 青州市| 新丰县| 农安县| 千阳县| 富川| 梧州市| 英山县| 陇西县| 苗栗市| 汤原县| 濮阳市| 承德市| 包头市| 榆树市| 浮山县| 泰和县| 安乡县| 盐津县| 沙坪坝区| 吴川市| 淮南市| 高碑店市| 紫阳县| 保康县| 张家港市| 盐山县| 五台县| 冕宁县| 赤城县| 遵化市| 嵩明县| 长垣县| 安陆市| 华容县| 昭苏县| 怀来县| 阿拉善盟| 云和县|