YFM 发表于 2012-4-20 21:15:19

最近在学习Linux的驱动程序 被一个问题挡住了 特来求助

问题就是 书上讲编译模块需要首先建立内核树我不明白内核树是什么东西 如何建立
只知道好像是编译内核代码时产生的一个什么东西。

rtems 发表于 2012-4-20 22:23:11

就是内核源代码了,驱动编译的时候必须制定内核的目录,要去读一些配置信息和头文件啥的

無智 发表于 2012-5-1 00:26:20

不知楼主是否已经解决这一困惑?
做驱动开发的时候有以下几点需要先明确的:
1. 驱动是什么的?
  LDD里面有框图介绍,它是Linux提供的一种扩展内核的机制。就是一个二进制文件,它的特别之处在于能够加入运行中的内核。
2. 驱动是给谁用?
  既然它是对内核的一种扩展,那么它应该是给运行的目标内核的用的。
3. 怎么生成目标内核的驱动?
  依赖目标内核的目录树执行的驱动开发动作就是目标驱动。
4. 目标驱动依赖于哪些?
  很多,但是有两项至关重要:编译器和目标内核的目录树,编译器提供二进制文件的编译、链接;目录树提供驱动开发的头文件、编译宏、内核符号、make的相关脚本等等。
5. 目标内核目录树的获取
  如果你是从kernel.org上下载的干净内核,那么需要用你需要的编译环境对该内核进行编译,那么第四点提到的东西会生成。如果你是对已有系统做驱动开发,如fedora9,那么可从DVD中获取kernel-devel包安装,内核目录树会在/lib/modules/`uname -r`/build中呈现。
over,祝你开发顺利:)

YFM 发表于 2012-5-1 01:30:52

無智 发表于 2012-5-1 00:26 static/image/common/back.gif
不知楼主是否已经解决这一困惑?
做驱动开发的时候有以下几点需要先明确的:
1. 驱动是什么的?


谢谢啦   

無智 发表于 2012-5-2 22:18:00

{:lol:}客气
页: [1]
查看完整版本: 最近在学习Linux的驱动程序 被一个问题挡住了 特来求助