随笔分类 -  Linux内核驱动

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