摘要:
sysfs接口函数到建立_DEVICE_ATTR 最近在弄Sensor驱动,看过一个某厂家的成品驱动,里面实现的全都是sysfs接口,hal层利用sysfs生成的接口,对Sensor进行操作。 说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR 原型是#define DEVICE_ATT 阅读全文
posted @ 2016-04-08 18:47
OracleLoyal
阅读(394)
评论(0)
推荐(0)
摘要:
1:function.h #ifndef FUNCTION_H#define FUNCTION_H#define DRIVER_FUNCTION_ADD_DEVICE#define DRIVER_FUNCTION_UNLOAD#define DRIVER_FUNCTION_INTERNAL_DEVI 阅读全文
posted @ 2016-04-08 15:46
OracleLoyal
阅读(481)
评论(0)
推荐(0)
摘要:
在这里我分析应用程序如何访问字符设备,了解其整个过程,通过这个分析,对字符驱动的了解会提升很多。 用户访问字符设备的大概流程: 用户 >> VFS >> 设备驱动 用户空间 >linux系统调用 >间接调用cdev.file_operation的对应函数。 下面我们以用户指行open("/dev/l 阅读全文
posted @ 2016-04-08 15:32
OracleLoyal
阅读(739)
评论(0)
推荐(0)
摘要:
加载驱动模块时Device or resource busy的解决方法 加载驱动模块时Device or resource busy的解决方法 insmod或modprobe驱动模块时Device or resource busy的解决方法 在编译好memdev驱动模块后,通过insmod加载模块时 阅读全文
posted @ 2016-04-08 15:27
OracleLoyal
阅读(10222)
评论(0)
推荐(0)
摘要:
概述: 字符设备驱动程序: 是按照字符设备要求完成的由操作系统调用的代码。 重点理解以下内容: 1. 驱动是写给操作系统的代码,它不是直接给用户层程序调用的,而是给系统调用的 2. 所以驱动要向系统注册。 3. 注册的时候,要求驱动必须符合一定的规范,否则系统就会不认识。这就是程序架构。 4. 字符 阅读全文
posted @ 2016-04-08 15:20
OracleLoyal
阅读(383)
评论(0)
推荐(0)
摘要:
1:memdev.h 1 #ifndef MEMDEV_H_ 2 #define MEMDEV_H_ 3 #ifndef MEMDEV_MAJOR 4 #define MEMDEV_MAJOR 179 /*预设的mem的主设备号*/ 5 #endif 6 7 #ifndef MEMDEV_NR_DE 阅读全文
posted @ 2016-04-08 15:13
OracleLoyal
阅读(818)
评论(0)
推荐(0)
摘要:
struct file_operations{ struct module *owner; // 指向拥有该结构的模块的指针,避免正在操作时被卸载,一般为初始化为THIS_MODULES loff_t (*llseek) (struct file *, loff_t, int); // llseek 阅读全文
posted @ 2016-04-08 13:26
OracleLoyal
阅读(563)
评论(0)
推荐(0)

浙公网安备 33010602011771号