Linux中的设备驱动程序开发

时间:2012-02-08 10:07:15

标签: linux linux-kernel device-driver

我打算学习嵌入式linux并编写linux设备驱动程序。 在阅读了有关设备驱动程序并阅读了一些教程之后,我对用于编译的内核源有点困惑。

我正在使用ubuntu 11.04,在我的/usr/src/我找到以下内容:

   tijin @ tijin-Vostro-460:/ usr / src $ ls

     

gcc-4.4 linux-headers-2.6.38-10-generic-pae   linux-headers-2.6.38-10 linux-headers-2.6.38-8

我的问题:

1)我是否需要内核来编译驱动程序代码或标题是否足够?

2)我在哪里可以获得内核源代码以及安装源代码的过程是什么。请让我知道详情。

3 个答案:

答案 0 :(得分:2)

  1. 标题就够了
  2. 来自kernel.org - 或针对Ubuntu特定内核,请点击documentation
  3. 有关模块编译说明,请参阅this question

答案 1 :(得分:0)

  1. 是。您不仅需要源代码,还需要" make" d源代码(已编译的内核源代码)。

  2. 获取内核源代码的主要位置是:http://www.kernel.org

  3. 当您使用Ubuntu时,您只需从存储库下载源代码即可。 这是Ubuntu帮助中指出的页面,作为在Natty(11.04)上从源代码编译内核的指南: http://blog.avirtualhome.com/2011/08/03/how-to-compile-a-new-ubuntu-11-04-natty-kernel/

答案 2 :(得分:0)

对于更新的设备驱动程序编码,“hello world”驱动程序代码参考在这里:

http://www.linuxquestions.org/questions/linux-kernel-70/simple-makefile-error-all-nothing-need-to-be-done-600403/。  此链接还讨论了与Makefile相关的问题。我从参考文献中获得的重要思想是:永远不要复制粘贴文档的内容来创建Makefile。

如果您在查看日志时遇到问题,请参阅链接:

http://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/

感谢。