摘要:
#五、附加 ##1、模块加载: modprobe 自动加载模块到内核 (p10) ##2、宏声明: MODULE_LICENSE("GPL"); 许可证声明(p12) MODULE_AUTHOR("LR xxx@163.com"); 作者信息(p12) MODULE_DESCRIPTION("thi 阅读全文
posted @ 2020-12-06 15:59
八杯水
阅读(76)
评论(0)
推荐(0)
摘要:
#四、导出符号表 ###vim ./include/linux/export.h +50 在一个内核模块中调用另外一个内核模块中的函数,需要提供者将函数的符号表(地址)导出,调用者直接使用这个地址即可 ###1、导出符号表的意义: 1)可以解决内核代码冗余的问题,同种问题,一次实现,多次调用。 2) 阅读全文
posted @ 2020-12-06 15:50
八杯水
阅读(320)
评论(0)
推荐(0)
摘要:
#三、内核模块传参 内核模块传参有两种 1、在安装驱动的时候传递参数 2、在驱动运行的时候传递参数 ##1、在安装驱动的时候传递参数 insmod xxx.ko a=12 b=35 驱动模块中使用的变量的类型 vim include/linux/moduleparam.h +97 变量类型 字节大小 阅读全文
posted @ 2020-12-06 15:37
八杯水
阅读(387)
评论(0)
推荐(0)
摘要:
#二、内核中的信息打印-->printk ##1、打印级别 vim include/linux/printk.h +9 内核中的打印级别,8个级别,(07)级,数值越小,级别越高 (02)3个级别不常用, (3~7)4个级别会常用, vim ./include/linux/printk.h +9 0 阅读全文
posted @ 2020-12-06 14:59
八杯水
阅读(726)
评论(0)
推荐(0)
摘要:
#一、驱动基础 ##1、什么是驱动 能够通过软件操作硬件的这份程序就是驱动 ##2、Linux驱动和ARM裸机驱动的区别 1)Linux设备驱动工作时依赖于Linux内核, ARM裸机驱动不依赖于Linux内核,可以单独执行。 2)Linux设备驱动工作的空间在内核空间的【3G~4G】中,驱动中不能 阅读全文
posted @ 2020-12-06 14:41
八杯水
阅读(259)
评论(0)
推荐(0)
浙公网安备 33010602011771号