- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 linux驱动由浅入深系列:usb子系统之三(usb系统中的设备、配置、接口、端点概念及代码解释)
一个usb设备对应一个或多个配置一个配置包含一个或多个usb接口一个usb接口可能存在一种或多种设置一个设置会使用零个或多个usb端点设备设备就是一个usb物理设备,一个usb设备可以只包含一个简单功能的device,也可以包含一个由hub连接的多个设备,叫作复合设备。接口与端点的概念较为清晰端点端点是host或device中具有独立控制usb总线能力的最小物理
2017-09-26 20:52:04 1928
原创 linux设备驱动uevent详解,高通平台battery上报电量实例
本文以高通平台上的android系统为参照展开探讨。1,uevent是什么呢?uevent是一种linux设备模型中的一个组成部分。kseg中包含的uevent_ops结构体拥有uevent的操作函数。uevent可以在设备发生变化时主动通知应用层。是对普通先注册设备后注册驱动模式的一种补充。一般用作usb设备的自动驱动加载、电池电量上报等。2,uevent主动通知应用层的
2017-09-18 20:46:17 9042 1
原创 sys文件系统中文件、文件夹与kobject、kset、kobj_type的对应关系
网上对sys文件系统与kobject的文章很多,但对初学者的我越看越乱。几经辗转总结出如下结论,如有误恳请讨论指出,直接给出:1,kobject,kset对应sysfs里面的文件夹,目录的名字就是结构体中的 name2,kobj_type对应sysfs里面的文件,这些文件是kobject的属性的外在表现3,kobject是linux设备树的核心结构体,整个设备树都是围绕kobject建
2017-09-14 19:45:05 1176
原创 linux双向链表List结构分析
双向链表是linux内核中的一个核心数据结构,由于其运用场景众多如task列表、设备列表等等,因此内核将其操作逻辑独立了出来。下面我们以i2c的设备树列表为例来看一下List列表的使用方法。如图所示,双向链表不包含任何数据,在使用时,将其嵌入到目标结构体中使用。且第一个list_head不与数据机构体关联,作为整个链表的起始。List的实现代码在kernel\include\linux
2017-09-13 17:16:26 1057
原创 linux中i2c子系统代码结构详解
本文介绍一下linux驱动代码中i2c子系统的驱动代码结构和使用方法,示例平台文件为高通msmXXXX平台一,i2c子系统代码结构i2c-core.c1,使用bus_register进行总线注册2,提供与具体硬件无关的操作逻辑供i2c-dev.c中使用3,将操作逻辑通过EXPORT_SYMBOL导出到整个内核,供其他基于i2c的设备驱动调用i2c-dev.c
2017-09-13 15:17:39 1214
原创 linux模块(module_init)、子系统(subsys_initcall)入口函数详解
linux内核代码是以模块(module)和子系统(subsys)为单元的层次结构。在写模块代码时我们知道入口函数是module_init()或subsys_initcall(),在linux启动时会被调用,这其中更为详细的前因后果是什么呢,一起来了解一下。一,linux模块程序示例下面是一个linux模块的示例程序:#include #include MODUL
2017-09-12 11:13:55 2579
原创 c++与其他语言的语法区别总结
c++是一个具有一些c语言特性的不纯粹的面向对象语言,下面整理一些c++与其他语言的区别之处,避免混淆。c++中还是有指针概念的struct结构体也依然存在,c语言中经常用struct来模拟class的功能。c++支持多继承c++最为特色的是模板的概念,好像是c++语言独有的吧c++中没有interface关键词,使用virtual关键词构建纯虚函数实现接口特性
2017-09-06 10:43:16 1769
原创 android AP侧通过sensor_class挂载sensor的一种方案
1.引言1.1背景目前android上对sensor的处理是将其挂载到类似于sensorhub的独立处理单元上与AP分离,这样便于解决功耗问题。高通平台也类似的将sensor挂在了adsp上,但特定需求下还是希望sensor能够挂载到AP下,并且对上层隐藏这种差异,可以使用相同的处理流程。本文介绍一种使用以input设备为基础的sensor_class抽象类在AP侧挂载sensor的方法。
2017-09-05 19:38:37 3996 2
原创 android oreo 中adb shell中的ps命令需要加参数ps -A
更新了android oreo后发现在adb shell中执行ps命令只得到了很少的信息:msm8937_32:/ # psUSER PID PPID VSZ RSS WCHAN ADDR S NAMEroot 4285 1516 4632 1544 sigsuspend add6067c S sh
2017-09-05 19:29:33 11659 1
setuptools-33.1.1.zip
2017-11-10
total commander 8.52a 含对应的注册Key文件
2016-05-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人