itop-3568开发板驱动开发指南-实验程序的编写

本实验对应的网盘路径为:iTOP-RK3568 开发板【底板 V1.7 版本】\03_【iTOP-RK3568开发板】指南教程\02_Linux 驱动配套资料\04_Linux 驱动例程\02。

本章实验将编写 Linux 下的驱动传参实例代码,通过"insmod"命令进行参数的传递,并将相应的参数打印到串口终端上。

编写完成的 parameter.c 代码如下(图 5-3)所示

1、#include <linux/init.h>

2、#include <linux/module.h>

3、static int number;//定义 int 类型变量 number

4、static char *name;//定义 char 类型变量 name

5、static int para[8];//定义 int 类型的数组

6、static char str1[10];//定义 char 类型字符串 str1

7、static int n_para;//定义 int 类型的用来记录 module_param_array 函数传递数组元素个数的变量 n_para

8、module_param(number, int, S_IRUGO);//传递 int 类型的参数 number,S_IRUGO 表示权限为可读

9、module_param(name, charp, S_IRUGO);//传递 char 类型变量 name

10、module_param_array(para , int , &n_para , S_IRUGO);//传递 int 类型的数组变量 para

11、module_param_string(str, str1 ,sizeof(str1), S_IRUGO);//传递字符串类型的变量 str1

12、static int __init parameter_init(void)//驱动入口函数

13、{

14、static int i;

15、printk(KERN_EMERG "%d\n",number);

16、printk(KERN_EMERG "%s\n",name);

17、for(i = 0; i < n_para; i++)

18、{

19、printk(KERN_EMERG "para[%d] : %d \n", i, para[i]);

20、}

21、printk(KERN_EMERG "%s\n",str1);

22、return 0;

23、}

24、static void __exit parameter_exit(void)//驱动出口函数

25、{

26、printk(KERN_EMERG "parameter_exit\n");

27、}

28、module_init(parameter_init);//注册入口函数

29、module_exit(parameter_exit);//注册出口函数

30、MODULE_LICENSE("GPL v2");//同意 GPL 开源协议

31、MODULE_AUTHOR("topeet"); //作者信息

以上代码将传递 int 类型参数 number、char 类型参数 name、int 类型的数组 para 和 char类型字符串 str1,并在驱动入口函数中,对各个参数进行打印。在下一小节会进行驱动加载测试。

相关推荐
智驾20 天前
OpenharmonyOS+RK3568,【编译&烧录】
编译·openharmony·rk3568·烧录
林政硕(Cohen0415)1 个月前
RK3568 基于Gstreamer的多媒体调试记录
linux·rk3568·多媒体·gstreamer
花落已飘2 个月前
RK3568 pinctrl内容讲解
linux·设备树·rk3568
迅为电子3 个月前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识
驱动开发·openharmony·rk3568
北京迅为3 个月前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第2章 内核HDF驱动框架架构
华为·harmonyos·rk3568
北京迅为3 个月前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第4章 UART基础知识
人工智能·嵌入式硬件·harmonyos·鸿蒙·rk3568
北京迅为3 个月前
【北京迅为】iTOP-RK3568OpenHarmony系统南向驱动开发-第3章 实操-HDF驱动配置LED
linux·嵌入式硬件·鸿蒙·openharmony·rk3568
北京迅为3 个月前
【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
嵌入式硬件·鸿蒙·rk3568
ARM+FPGA+AI工业主板定制专家3 个月前
Software PLC Solution for RK3568+Codesys ARM+LINUX Hardware Platform
linux·plc·rk3568·codesys