上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 23 下一页
摘要: 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)
摘要: android ADB命令的使用 android ADB命令的使用 ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备. 先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-ap 阅读全文
posted @ 2016-04-07 17:06 OracleLoyal 阅读(217) 评论(0) 推荐(0)
摘要: 在这里首先需要说明,这一系列的文章可能跨度比较大,比如按照正常的逻辑,写完怎样搭建开发环境之后,就该接着讲一个helloworld的内核模块,然 后才是这一篇字符驱动的文章,但是我不想重复的去写那么多东西,至于有这方面需求的博友,可以随便google一下就能查到很多类似的文章,因为我是希望 linu 阅读全文
posted @ 2016-04-06 15:36 OracleLoyal 阅读(485) 评论(0) 推荐(0)
摘要: 内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义: linux-2.6.22/include/linux/cdev.h struct cdev { struct kobject kobj; // 每个 cdev 都是一个 kobject struct module *owner; 阅读全文
posted @ 2016-04-06 15:27 OracleLoyal 阅读(488) 评论(0) 推荐(0)
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 23 下一页