欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

在android上开启和关闭一个外设,linux底层需要做什么工作,这又是怎么联系起来的

更新时间: 2014-01-05 03:19:34 责任编辑: Author_N1

 

在android上开启和关闭一个外设,linux底层需要做什么工作,这又是如何联系起来的?
例如在android手机上开启和关闭wifi时,android进行了哪些操作?Linux驱动层又是如何配合的?(注意,我说的是关闭/开启单个外设,而不是只linux的休眠)

在linux的驱动程序(device_driver)中有suspend和resum,上层是不是最终通过他们来实现的?
如果是,那么过程是怎样的?或者能不能告诉我如何去寻找这个答案(例如,用ADB能够看到android的调用过程?。。。)

求任何知情人士!!!!
--参考方法--
在linux的驱动程序(device_driver)中有suspend和resum,上层是不是最终通过他们来实现的?

肯定是的。
理论上android在内核里打了一个桩, 做了它想做的事情, 可以利用JNI 来调用驱动中的命令 , 类似ioctrl
--参考方法--
正在学习中,楼上应该是对的。
--参考方法--
搜索一下“android HAL”相关文章,就能基本理解java-->JNI-->HAL-->device driver的流程。
--参考方法--
去研究framework的powermanager部分吧 
我就提示下,具体自己去研究吧
powermanager  3个状态  wakeup   notification  sleep
要达到sleep状态,必须所有app释放睡眠LOCK 然后内核才能调用驱动的suspend

--参考方法--
引用:
引用:看错问题了。wifi是通过wpa_supplicanta守护进程和内核通讯的,wifi
这部分比较复杂,要慢慢研究。其他驱动基本都是通过调研调用HAL层 ,,学习android有2个关键技术要掌握
JNI 和BINDER IPC.

恩,是通过wap_supplicanta的,只是不太熟悉,我主要想知道HAL和kernel在w……


wap_supplicant 是通过SOCKET 和内核通讯。HAL层,你可以看hardware目录,里面有不同厂家WIFI芯片的驱动加载代码。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:19:34
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20813/
本文WWW.DOC100.NET DOC100.NET版权所有。