iTOP-RK3399开发板驱动模块传数组

通过 43.1 章节驱动理论基础的学习,我们已经把驱动传参的基本概念搞懂了。我们在 Windows 上面新

建 parameter.c 文件,并用 sourceinsight 打开。我们将上次编写的 helloworld.c 里面的代码拷贝到 parameter.c

文件,在此基础上进行编写。

/*

* @Descripttion: 驱动模块传递数组

* @version: * @Author: topeet */

#include

#include

//定义数组 b

static int b[5];

//定义实际传入进去参数的个数

static int count;

static int a;

module_param(a ,int,S_IRUSR);

//传递数组的参数

module_param_array(b,int,&count,S_IRUSR);

static int hello_init(void){

int i;

//循环遍历数组 b 的值

for(i = 0;i<count;i++){

//打印数组 b 的值

printk("b[%d] = %d \n",i,b[i]);

}

//打印传入参数的个数

printk("count= %d \n",count);

//printk("a = %d \n",a);

//printk("hello world! \n");

return 0;

}

static void hello_exit(void){

printk("a = %d \n",a);

printk("gooodbye! \n");

}

module_init(hello_init);

module_exit(hello_exit);

MODULE_LICENSE("GPL");

我们再将驱动传入数组的代码编译成驱动模块,加载驱动模块,如下图所示:

rmmod parameter

insmod parameter.ko b=1,2,3,4,5

</count;i++){<>

同样我们可以进入到/sys/module/parameter/目录下,查看变量 b 的权限,如下图所示:

cd /sys/module/parameter/

ls

cd parameters/

ls

ls b -l

如果我们多传入进去参数,会发生什么呢?我们试试传入六个数

到此,我们已经学会了在 iTOP-3399 开发板上面给驱动模块传普通参数和数组参数了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值