有人在ubuntu上学习编写驱动程序吗? 求助

内核编译和嵌入式产品的设计与开发
回复
头像
tonychen123
帖子: 101
注册时间: 2009-04-03 20:52
来自: Guangzhou -China

有人在ubuntu上学习编写驱动程序吗? 求助

#1

帖子 tonychen123 » 2009-06-04 18:15

如题,
小弟我准备在ubuntu上练习编写驱动程序,写了最简单的hello驱动,但编译不出来hello.ko文件来,结果是这样的:
tony@ubuntu:~/mini2440$ sudo make
make -C /lib/modules/2.6.28-12-generic/build M=/home/tony/mini2440 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.28-12-generic'
Building modules, stage 2.
MODPOST 0 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-12-generic'
tony@ubuntu:~/mini2440$ ls
hello.c~ Makefile~ modules.order
hello.c Makefile Module.markers Module.symvers

试问,编译生成的 Makefile Module.markers Module.symvers 这些文件都可做什么用,为什么出来modules?
难道真的要下了源码包,编译内核才有用? 这是我/usr/src里面只有linux-headers-2.6.28-12-generic这个文件,没用,非要源码并且要重新编译?
There should be one-- and preferably only one --obvious way to do it.
头像
tonychen123
帖子: 101
注册时间: 2009-04-03 20:52
来自: Guangzhou -China

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

#2

帖子 tonychen123 » 2009-06-04 18:15

忘了说,我的是ubuntu-9.4
There should be one-- and preferably only one --obvious way to do it.
头像
asmsa
帖子: 258
注册时间: 2008-11-16 19:56
来自: 火星

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

#3

帖子 asmsa » 2009-06-04 18:21

你所用的是2440 ARM 开发板?

那个编译内核不需要,下载相关的内核编译环境应该可以了。

注意你的后缀是 ko,而不是o,如果是o直接用自带的GCC可以生成的

你所包含的是你自己用的内核,而自己更换内核的步骤你没有,但也危险
您的每句话,我都认真的看
您的每个难题,我都帮您尽量解决~
ubuntu 社区会员 asmsa
头像
asmsa
帖子: 258
注册时间: 2008-11-16 19:56
来自: 火星

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

#4

帖子 asmsa » 2009-06-04 18:28

学习驱动开发,你的步骤是错误的,你应该先熟悉本系统,再转到其他平台!过程很繁琐,你要编写成一个
hello入门,其实也就是最终的过程,你编写好了,你也学完了
您的每句话,我都认真的看
您的每个难题,我都帮您尽量解决~
ubuntu 社区会员 asmsa
头像
tonychen123
帖子: 101
注册时间: 2009-04-03 20:52
来自: Guangzhou -China

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

#5

帖子 tonychen123 » 2009-06-04 21:11

哦,真的谢谢回复,我知道了
虽然是学习在2440上写驱动,但是在网上找了资料,知道可以在ubuntu系统上就可以练习写驱动了,不过过程复杂很且费时,说是要下了源码包,然后编译生成内核目录树才可以编译得成,而且光他说的内核编译要1个多小时,呵, 不舍得乱动ubuntu的内核,用着正欢喜呢,怕搞不好……windows几乎要被我淘汰了……
后又看到/usr/src上有内核的头文件,不知道行不行,所以做实验才这样。
多谢指教了。ubuntu上不行,2440上就OK了。。。
There should be one-- and preferably only one --obvious way to do it.
头像
tonychen123
帖子: 101
注册时间: 2009-04-03 20:52
来自: Guangzhou -China

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

#6

帖子 tonychen123 » 2009-06-04 21:31

If you are simply trying to build third-party modules for your kernel, you do not want this package. Install the appropriate linux-headers package instead.
我准备下linux2.6.28时下面提示说的。网上那些同志认为要建立内核树就是要编译内核,我很迷惑,到底要不要去源码下运行make这个命令。
这句话,让我觉得我的想法应该是对的,没有源码也可以编译自己的modules,
There should be one-- and preferably only one --obvious way to do it.
头像
tonychen123
帖子: 101
注册时间: 2009-04-03 20:52
来自: Guangzhou -China

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

#7

帖子 tonychen123 » 2009-06-04 23:21

实践证明,我的想法是正确的,大家快转到上一主题看看,呵呵
There should be one-- and preferably only one --obvious way to do it.
头像
tonychen123
帖子: 101
注册时间: 2009-04-03 20:52
来自: Guangzhou -China

Re: 有人在ubuntu上学习编写驱动程序吗? 求助

#8

帖子 tonychen123 » 2009-06-04 23:23

就是这个啦:
viewtopic.php?f=97&t=208453
There should be one-- and preferably only one --obvious way to do it.
回复