
Linux
hill_guo
从实践中学习技术。
展开
-
Linux系统(4.1.5)字符设备驱动相关知识(2)——驱动程序调用过程
一、字符设备驱动调用过程的一些理解: 设备驱动文件(也就是设备驱动程序源代码ap3216c.c)在内核中注册成功后,会生成一个设备文件,设备文件的名称就是设备驱动文件中定义的设备名称(.name字段的值 = ap3216c),设备文件注册成功后,在./dev.目录下就可以看到这个驱动文件ap3216c。 在应用程序中通过open函数打开一个文件,打开的文件就是设备文件./dev./ap3216c,一旦打开文件成功,就会创建struct file结构体的对象,创建struct inode结...原创 2020-08-31 14:15:59 · 523 阅读 · 0 评论 -
Linux系统(4.1.5)字符设备驱动相关知识(1)——主要的结构体
一、字符设备驱动主要结构体:1.struct file(文件结构体) , struct file_operations(文件操作函数集结构体),以上结构体都位于include/linux/fs.h;2.struct inode (节点结构体), struct inode_operations ,以上结构体都位于include/linux/fs.h;3.struct cdev(字符设备结构体) ,结构体都位于include/linux/cdev.h;3.struct device(设备结构体.原创 2020-08-31 13:22:18 · 1187 阅读 · 0 评论 -
Linux应用程序调用驱动程序的过程
一、大体调用过程应用程序位于用户空间,驱动程序位于内核空间,Linux系统规定,用户空间不可以直接调用内核空间的函数。所以必须经过系统调用,应用程序才可以调用驱动程序的函数。具体系统调用的过程,这是属于更高级别的知识,以后有机会再补充,大体就是通过C库函数实现的,目前只要知道这个过程即可。另外,应用程序通过系统调用去调用驱动程序的函数,还有一个前提就是驱动程序必须留有接口,这里的接口就是ops函数操作集(有点类似Windows的DLL),所以我们一般在驱动程序中设计好接口,然后实现接口函数。..原创 2020-08-23 16:49:56 · 7110 阅读 · 0 评论