module_param 用于动态开启/关闭 驱动打印信息
1.定义模块参数的方法:
module_param(name, type, perm);
其中,name:表示参数的名字; type:表示参数的类型; perm:表示参数的访问权限;
type参数设定的类型和perm的访问权限具体数值数值请参考内核定义。
2、可以在insmod(装载模块)的时候为参数指定值,如果没有指定则使用默认值
static int num=;
module_param(num,int,S_IRUGO);
static int hello_init(void)
{
printk("Hello module init./n");
printk("num=%d/n",num);
return ;
}
static void hello_exit(void)
{
printk("Goodbye module exit./n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("Dual BSD/GPL");
MODULE_DESCRIPTION("a simple module");
MODULE_ALIAS("hello");
上面的num=10,则10是参数num的默认值。
保存为源文件hello.c, 编译生成hello.ko , 当我们使用insmod进行载入时, 使用
insmod hello.ko num=20
则可以 cat /sys/module/hello/parameters/num ,看到为 20
3、驱动的打印调试信息正常情况下我们并不希望看到,但是出现错误的情况下还是需要查看的,可使用以下方法:
static int num=;
module_param(num,int,S_IRUGO); /* 驱动运行中调用的操作 */
int fun_test()
{
if(num)
{
printk("This is a test!\n");
}
} static int hello_init(void)
{
printk("Hello module init./n");
printk("num=%d/n",num);
return ;
}
static void hello_exit(void)
{
printk("Goodbye module exit./n");
}
module_init(hello_init);
module_exit(hello_exit); MODULE_LICENSE("Dual BSD/GPL");
MODULE_DESCRIPTION("a simple module");
MODULE_ALIAS("hello");
默认运行中不会出现打印信息“This is a test”。
查看 /sys/modules/hello/parameters/num参数,默认数值是0,
echo > /sys/modules/hello/parameters/num #打开调试信息打印
echo > /sys/modules/hello/parameters/num #关闭调试信息打印
以上操作即可以实现动态关闭/打开调试信息
module_param 用于动态开启/关闭 驱动打印信息的更多相关文章
- Linux系统默认服务建议开启关闭说明列表
服务名称 功能简介 建议 acpid 电源管理接口.如果是笔记本用户建议开启,可以监听内核层的相关电源事件. 开启 anacron 系统的定时任务程序.cron的一个子系统,如果定时任务错过了执行时间 ...
- 向linux内核增加一个系统调用-2(利用proc打印信息)
添加系统调用,打印/proc中的系统信息 前面关于proc和内核态函数的东西可以对比代码来看. 参考 http://blog.csdn.net/kylin_fire_zeng/article/deta ...
- 海康威视摄像机Java SDK拉流(二)开启关闭实时预览
本篇介绍海康威视摄像机通过SDK开启关闭实时预览接口 下篇介绍实时预览的回调函数及解码库 测试环境: 系统:Centos 7 SDK:设备网络SDK Linux64 实时预览模块流程: 图中虚线框部分 ...
- MySQL 在线开启&关闭GTID模式
MySQL 在线开启&关闭GTID模式 目录 MySQL 在线开启&关闭GTID模式 基本概述 在线开启GTID 1. 设置GTID校验ENFORCE_GTID_CONSISTENCY ...
- dbms_monitor开启/关闭会话跟踪
从10g开始,可以使用dbms_monitor开启/关闭会话跟踪. sql> desc dbms_monitor procedure client_id_stat_disable argumen ...
- Nginx 基于客户端 IP 来开启/关闭认证
前些日子帮助公司在搭建了一个内部资源的导航页面,方便公司员工访问各种常用的系统.因为这个页面包含一些敏感信息,我们希望对其做认证,但仅当从外网访问的时候才开启,当从公司内网访问的时候,则无需输入账号密 ...
- Linux系统下的shutdown命令用于安全的关闭/重启计算机
Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执行shutdown命令时,系统会给每个终端(用户)发送一条屏显,提 ...
- DDLog-不同颜色打印信息
(一)下载安装 1.安装插件 XcodeColors Github 链接:https://github.com/robbiehanson/XcodeColors 打开XcodeColors项目,编译即 ...
- 02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示
02全志r58平台Android4.4.4下关闭内核中的CPU的开启关闭提示 2017/8/18 13:53 版本:V1.0 开发板:SC5806(全志R58平台) SDK:android4.4.4 ...
随机推荐
- Jar 包 及运行Jar包 - 转载
Eclipse的jar file和Runnable JAR file的区别 - 及bat运行Runnable JAR文件 1.两种jar的区别 jar file是最普通的jar包,即平时我们工程中li ...
- linux下安装配置apache+nagios
1.安装依赖包 yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel 2.创建nagios用户和用户组 # us ...
- PHP 开发环境搭建
1. PHP (1) download PHP and extra the zip file to the folder “C:\tools\php” (2) add the path “;C:\to ...
- 基础的JavaScript函数
基础的JavaScript函数 1.首字母大写 2.去除数组重复项 3.数组的排序 4.闭包 1. 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字(使用JavaScript的map函 ...
- Three.js基础:建立Cube并实现鼠标交互,动画旋转
index.html文件: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- srs部署到ubuntu 18.04 server
srs.txt ubuntu 18.04 安装 srs 1. 上传srs_40.7z和h2ws.7z到linux服务器,然后远程ssh连接 (假设登陆用户名是bob,linux服务器ip是192.16 ...
- 转:大数据时代快速SQL引擎-Impala
本文来自:http://blog.csdn.net/yu616568/article/details/52431835 如有侵权 可立即删除 背景 随着大数据时代的到来,Hadoop在过去几年以接近统 ...
- python基础之网络基础
一.操作系统基础 操作系统:(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才 ...
- 再看Scrapy(1) 基本概念
再看Scrapy(1) 基本概念 1 准备 安装scrapy: 国内镜像源(官方的pypi不稳定)安装 pip3 install -i https://pypi.douban.com/simple/ ...
- 【PL/SQL编程】注释说明
1. 单行注释 由两个连接字符“--”开始,后面紧跟着注释内容. 2. 多行注释 由/*开头, 由*/结尾.