Android设备驱动程序开发 - 入口点

7

我将参与Android设备驱动程序的开发。为此,我想掌握基础知识并提高我的技能。

过去两年中,我一直在使用VB和JAVA,所以我对C编程不太自信。Linux设备驱动程序对我来说也是一个新世界。

目前,根据我在不同论坛上找到的提示,下面的资源是一个很好的起点。

Q1:您对此有什么建议?

  1. http://lwn.net/Kernel/LDD3/
  2. http://www.freesoftwaremagazine.com/articles/drivers_linux

Q2:您知道特定于Android的教程吗?

而且,这里是我应该学习的特定于Android的驱动程序。

  1. USB
  2. 蓝牙
  3. 无线网络
  4. 相机

感谢您的时间!


这与https://dev59.com/x2445IYBdhLWcg3wRoHH非常相似。但是这里有更多的信息(两个地方都没有好的答案)。 - P.T.
2个回答

5
我必须将一个Android Kernel和驱动程序移植到一个自定义平台上。Android Kernel基本上是一个带有少量修改的Linux内核(2.6.x)。内核和驱动程序主要使用C语言编写,你需要学习它们。如果您已经具有其他语言的经验,那么您也可以通过学习它。有很多关于这方面的书籍和网络教程。不要忘记熟悉所有“指针”相关的内容。这是C语言中的主要内容。Linux内核充满了指向数据结构甚至更多指向打包在数据结构中的函数的指针。
这是我获取所需信息和知识的方法。对于Linux内核,O'Reilly的书籍非常好。我一直参考的设备驱动程序书籍有:
“理解Linux内核”
“Linux设备驱动程序”
至于非常专门于编写Android Kernel的资源,我已经寻找了几个月,最终只能使用Linux资源完成工作。
祝好运,愉快地学习,并不要忘记获得新技能总是很好的。

4

谢谢,我也发现那个文件很有帮助。(内核源码/文档/kernel-docs.txt) - quiel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接