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

时间:2011-09-23 07:06:22

标签: android linux kernel driver device

我将成为Android设备驱动程序开发的一部分。在准备中,我想掌握基础知识并提高我的技能。

过去两年我在VB和JAVA上工作,所以我对C编程没有信心。 Linux设备驱动程序也是我的新世界。

目前,根据我在不同论坛中发现的提示,以下资源是一个很好的起点。

Q1:我可以听到你对此的建议。

  1. http://lwn.net/Kernel/LDD3/
  2. http://www.freesoftwaremagazine.com/articles/drivers_linux
  3. Q2:你知道特定于android的教程吗?

    而且,这里是我应该学习的android的具体驱动程序。

    1. USB
    2. 蓝牙
    3. 无线上网
    4. 摄像机
    5. 感谢您的时间!

2 个答案:

答案 0 :(得分:5)

我必须将Android内核和驱动程序移植到自定义平台。 Android内核基本上是一个Linux内核(2.6.x),只有一些修改。内核和驱动程序主要用C语言编写,你必须进入它。如果您已经拥有其他语言的经验,那么您也将学习它。 WEB上有大量有关该内容和教程的书籍。不要忘记对所有“指针”的东西感到满意。这是C中的主要内容.linux Kernel如果充满了指向数据结构的指针,甚至更多,指向数据结构中打包的函数的指针。

以下是我获得所需信息和知识的方法。对于Linux内核,O'Reilly的书很棒。我一直提到设备驱动程序的那个是:
“了解Linux内核”
“Linux设备驱动程序”

对于编写Android内核的非常具体的资源,我几个月来一直在寻找它,我总是使用Linux资源,我完成了工作。

祝你好运,玩得开心,不要忘记,获得新技能总是对你有好处

答案 1 :(得分:4)

你提到的第一本书非常好(那里描述了USB和网络)。

我建议使用的其他书籍:kernel source /Documentation/kernel-docs.txt
(也可在此处获取:https://www.kernel.org/doc/Documentation/kernel-docs.txt