![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android底层
microliang
这个作者很懒,什么都没留下…
展开
-
Android硬件抽象层(HAL)深入剖析(二)
上一篇我们分析了android HAL层的主要的两个结构体hw_module_t(硬件模块)和hw_device_t(硬件设备)的成员,下面我们来具体看看上层app到底是怎么实现操作硬件的?我们知道,一些硬件厂商不愿意将自己的一些核心代码开放出去,所以将这些代码放到HAL层,但是怎么保证它不开放呢?HAL层代码不是也让大家知道下载吗?其实硬件厂商的HAL核心代码是以共享库的形式出现的,每次在需原创 2013-11-18 11:44:04 · 684 阅读 · 0 评论 -
Qualcomm和MTK两个android平台比较
1、市场定位不同,Qualcomm的Android解决方案主要是7K系列和8K系列,都是一个Modem ARM+Application ARM,目标中高端3G解决方案,6K这种低端平台主要还是Qualcomm自己的BREW方案。MTK的6516这个解决方案,采用的也是Modem ARM(2.75G)+Application ARM的方案,方案虽然相同,但是里面的ARM核心在性能上却差了很多,Qua转载 2013-11-09 22:54:56 · 4120 阅读 · 0 评论 -
SensorService architechure’ note
对SensorService类的作用的理解:SensorService是android的sensor方面相关核心的类,其实是android系统SystemServer中的一个,是在android系统运行SystemServer时会自动运行起来,其实就是创建了一个线程,用来专门处理sensor相关的数据从hal到app(client)的传输以及对sensor的控制等功能。 下面对Sens原创 2013-11-11 16:38:48 · 1529 阅读 · 0 评论 -
Android内核驱动(linux内核驱动)中使用Completion
昨天的某一个sensor的驱动,需要实现这样一个功能,就是在workqueue里面采集到五次数据之后再传给ioctl平均之后再传给上 层。所以在workqueue里面未采集到五次时,如果有app调用到ioctl对应的读数据的接口,那么只能阻塞一会儿等到workqueue那边采集 到五次之后平均再给ioctl这边,然后ioctl才能继续往下走平均之后再给上层。 那么这里刚好可以用complet原创 2013-11-13 11:33:18 · 635 阅读 · 0 评论 -
Android硬件抽象层(HAL)深入剖析(一)
作为一个搞android驱动或者说搞底层的人,我觉得对于hal那是必须要掌握的,而且必须达到一定深度,于是我总结了一下,将整个自己的分析思路写下来。主要是看android源代码,根据源代码得到的思路。(看源代码比看什么著作书籍都管用)android HAL是什么?为什么有它?硬件抽象层是介于android内核kernel和上层之间的抽象出来的一层结构。他是对linux驱动的一个封装,对原创 2013-11-15 13:59:28 · 1216 阅读 · 0 评论 -
Android硬件抽象层(HAL)深入剖析(三)
前面分析了android HAL层是如何搜索硬件模块的动态共享库的,其实就是在"system/lib/hw/"或者"/vendor/lib/hw/"这两个路径下找到共享库modueid.variant.so后,通过调用load函数加载库。下面我们进入load函数,看看具体是如何实现加载共享库的。以下为load函数定义,同样在/hardware/libhardware/hardware.c中原创 2013-11-21 21:43:44 · 820 阅读 · 0 评论