博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
嵌入式学习笔记(十三)- 驱动模块传参数
阅读量:3741 次
发布时间:2019-05-22

本文共 1237 字,大约阅读时间需要 4 分钟。

嵌入式学习笔记(十三)- 驱动模块传参数

  • 应用程序可以在main 函数中传参
  • 头文件是include/linux/moduleparam.h
  • 内核模块可以通过module_param来传单个参数
  • module_param(name,type,perm) 单个参数
    • name 模块参数名称
    • type 模块参数的数据类型
    • perm 模块参数的访问权限
  • module_param_arrary(name,type,nump,perm)多个参数
    • name 模块参数名称
    • type 模块参数的数据类型
    • nump 保存参数的个数的地址
    • perm 模块参数的访问权限(S_IRUSR 表示所有文件所有者可读)

源码

#include 
#include
// 定义module_param module_param_arrary 函数的头文件#include
// 定义参数函数中perm 参数的枚举量头文件#include
module_init(hello_init);module_exit(hello_exit);static int module_arg1,module_arg2;static int int_array[50];static int int_num;module_param(module_arg1,int,S_IRUSR);module_param(module_arg2,int,S_IRUSR);module_param_arrary(int_array,int,&int_num,S_IRUSR);static int hello_init(void){
printk(KERN_EMERG,"\t module_arg1 is:%d\n ",module_arg1); printk(KERN_EMERG,"\t module_arg2 is:%d\n ",module_arg2); for(int i = 0;i < int_num;i++){
printk(KERN_EMERG,"\t int_array[%d] is:%d\n ",i,int_array[i]); } return 0;}static int hello_exit(void){
printk(KERN_EMERG,"\t module_arg1 is:%d\n ",module_arg2); return 0;}
insmod /mnt/udisk/module_param.ko module_arg1=10 module_arg2=20 int_array=11,12,13,14,15,17#加载后会打印参数#cat 命令查看参数cat /sys/module/paramters/int_array 可以查询参数

转载地址:http://ihoin.baihongyu.com/

你可能感兴趣的文章
Linux安装Java环境
查看>>
Java集合 ArrayList原理
查看>>
Git的基本操作
查看>>
简述128陷阱
查看>>
spring boot中thymeleaf配置说明
查看>>
在spring boot项目中修改包名要注意的一些问题
查看>>
编写类实现从后台向前台返回所要求的数据
查看>>
spring boot的学习(1.创建一个初始的spring boot项目)
查看>>
Python的入门学习
查看>>
Java——内部类
查看>>
Java——输入与输出
查看>>
Java——面试题
查看>>
Java——类和对象
查看>>
Java——String和StringBuffer
查看>>
Java——线程
查看>>
Java——Swing组件与布局管理器
查看>>
和Java相关的琐碎知识点
查看>>
Spring简介及配置
查看>>
Langrange插值和Newton插值的java实现
查看>>
Python程序设计之初窥门径
查看>>