阅读:21834回复:97
linux设备驱动程序(中文第三版) 2.6内核
linux设备驱动程序(中文第三版) 2.6内核
|
|
|
沙发#
发布于:2007-06-04 16:44
3q3q
|
|
|
板凳#
发布于:2007-06-04 21:45
en ,3q
|
|
地板#
发布于:2007-06-06 11:08
首先表示感谢,但是也有疑问
对于它所列举的helloworld 我用gcc -O2 -Wall -DMODULE -D__KERNEL__ -I/usr/src/linux/include/ -c hello.c -o hello.ko 编译可以通过,但是insmod却报错: insmod: error inserting './hello.ko': -1 invalid module format 这是怎么回事啊 ? |
|
地下室#
发布于:2007-06-07 22:28
-o hello.o 试试
|
|
5楼#
发布于:2007-06-08 12:53
不错,谢谢
|
|
|
6楼#
发布于:2007-06-11 10:47
thx
|
|
7楼#
发布于:2007-06-13 17:12
不错啊
谢谢分享 |
|
8楼#
发布于:2007-06-15 14:11
谢谢分享!
|
|
9楼#
发布于:2007-06-19 23:42
谢谢分享!
|
|
10楼#
发布于:2007-06-20 11:18
谢谢!很有用!
|
|
11楼#
发布于:2007-06-20 14:13
下了一份,,,linux的驱动也挺有意思的,,,,
|
|
12楼#
发布于:2007-06-23 16:23
收藏,谢谢~~
|
|
13楼#
发布于:2007-06-27 09:46
谢谢版主!非常需要这种好书!
|
|
14楼#
发布于:2007-06-28 15:24
感谢LZ无私奉献
|
|
15楼#
发布于:2007-07-01 23:00
#include <linux/kernel.h>
#include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk(KERN_ALERT "Hello, world\n"); return 0; } static void hello_exit(void) { printk(KERN_ALERT "Goodbye, cruel world\n"); } gcc -O2 -Wall -DMODULE -D__KERNEL__ -I/usr/src/kernels/2.6.18-1.2798.fc6-i586/include -c wtfire.c -o wtfire.o In file included from /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/asm/thread_info.h:16, from /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/thread_info.h:21, from /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/preempt.h:9, from /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/spinlock.h:49, from /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/capability.h:45, from /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/sched.h:44, from /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/module.h:9, from wtfire.c:2: /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/asm/processor.h:80: 错误:‘CONFIG_X86_L1_CACHE_SHIFT’ 未声明 (不在函数 内) /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/asm/processor.h:80: 错误:要求的对齐边界不是常量 在包含自 /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/sched.h:49 的文件中, 从 /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/module.h:9, 从 wtfire.c:2: /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/jiffies.h:33:3: 错误:#error You lose. /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/jiffies.h:210:31: 错误:#if 中用零做除数 /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/jiffies.h:210:31: 错误:#if 中用零做除数 /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/jiffies.h:210:31: 错误:#if 中用零做除数 /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/jiffies.h:210:31: 错误:#if 中用零做除数 对不起,刚才发错了 我为什么就有这么多错,我用的是2.6.18 的核心 |
|
16楼#
发布于:2007-07-07 21:40
太好了,我也买了这本书,不过还没有到呢
|
|
17楼#
发布于:2007-07-11 10:10
好
谢谢LZ |
|
18楼#
发布于:2007-07-11 21:54
我用同样的方法怎么就编译不行呢,刚入道的,请多多赐教呀。
gcc -O2 -Wall -DMODULE -D__KERNEL__ -I/usr/src/linux/include/ -c fire.c -o fire.o fire.c:1:24: 错误:linux/init.h:没有那个文件或目录 在包含自 fire.c:2 的文件中: /usr/include/linux/module.h:10:28: 错误:linux/spinlock.h:没有那个文件或目录 /usr/include/linux/module.h:11:24: 错误:linux/list.h:没有那个文件或目录 /usr/include/linux/module.h:13:28: 错误:linux/compiler.h:没有那个文件或目录 /usr/include/linux/module.h:14:25: 错误:linux/cache.h:没有那个文件或目录 /usr/include/linux/module.h:15:24: 错误:linux/kmod.h:没有那个文件或目录 /usr/include/linux/module.h:17:29: 错误:linux/stringify.h:没有那个文件或目录 /usr/include/linux/module.h:18:27: 错误:linux/kobject.h:没有那个文件或目录 /usr/include/linux/module.h:19:31: 错误:linux/moduleparam.h:没有那个文件或目录 /usr/include/linux/module.h:20:23: 错误:asm/local.h:没有那个文件或目录 /usr/include/linux/module.h:22:24: 错误:asm/module.h:没有那个文件或目录 In file included from fire.c:2: /usr/include/linux/module.h:49: 错误:字段 ‘attr’ 的类型不完全 /usr/include/linux/module.h:60: 错误:字段 ‘kobj’ 的类型不完全 fire.c:3: 错误:expected ‘)’ before string constant fire.c: 在函数 ‘hello_init’ 中: fire.c:6: 警告:隐式声明函数 ‘printk’ fire.c:6: 错误:‘KERN_ALERT’ 未声明 (在此函数内第一次使用) fire.c:6: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其 fire.c:6: 错误:所在的函数内只报告一次。) fire.c:6: 错误:expected ‘)’ before string constant fire.c: 在函数 ‘hello_exit’ 中: fire.c:11: 错误:‘KERN_ALERT’ 未声明 (在此函数内第一次使用) fire.c:11: 错误:expected ‘)’ before string constant |
|
19楼#
发布于:2007-07-13 19:20
duoxie ,3q
|
|
上一页
下一页