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