随笔分类 -  Linux内核的驱动开发

Linux内核的学习(五)——字符设备驱动的函数
摘要:当用户进程操作字符设备驱动,内核会根据设备号找到对应的cdev对象。 open/read/write这些接口就是组成VFS(虚拟文件系统)。 在Linux内核,用一个inode节点对象描述一个要操作的文件/设备文件,包括权限 ,设备号等信息,就是描述一个要操作的文凭的属性,一个文件可以打开很多次, 阅读全文

posted @ 2017-12-13 10:04 131927 阅读(233) 评论(0) 推荐(0)

Linux内核的学习(四)之字符设备驱动
摘要:c语言是面向过程的, 内核是有C语言来实现面向对象。但不全是。 ///////////////////// 内核提供对cdev对象操作的函数 字符设备驱动实现的基本步骤 编译加载驱动模块后,需要用”mknod /dev/设备文件名 c 主设备号 次设备号”来创建设备文件. 阅读全文

posted @ 2017-12-12 20:05 131927 阅读(168) 评论(0) 推荐(0)

Linux内核的学习(三)之字符设备驱动的设备号
摘要:用户进程是通过什么来调用驱动? 系统编程,经常用open,read write 来操作设备文件来调用驱动。 crw-rw 1 root video 10, 175 Dec 11 17:45 agpgartcrw T 1 root root 10, 235 Dec 11 17:45 autofsdrw 阅读全文

posted @ 2017-12-12 18:02 131927 阅读(222) 评论(0) 推荐(0)

Linux内核的学习(二)
摘要:linux的驱动模块的参数 大家在学习C语言时,应该学过在运行C程序时,给模块里面的变量定义具体的值,内核是怎么实现的呢。 方法如下: Linux怎么定义全局变量(函数),驱动模块里默认情况下不管函数还是全局变量都是局部使用(相当于在函数/变量名前加了 “static”),要作为全局使用,需要使用导 阅读全文

posted @ 2017-12-12 16:55 131927 阅读(114) 评论(0) 推荐(0)

Linux内核的学习(一)
摘要:Linux内核里mmu已经启动,不能直接访问物理地址。 mmu,全称Memory Manage Unit, 中文名————存储器管理单元。 地址范围—— 计算机上的地址集合。(大小是由CPU的位数决定)32位——0 ~ 0xFFFFFFFF(4G), 64位——0~0xFFFFFFFFFFFFFFF 阅读全文

posted @ 2017-12-12 16:16 131927 阅读(368) 评论(0) 推荐(0)

导航