LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1351|回复: 2

我写了一个helloworld的模块,编译的时候却出现了一大堆错误,大家帮忙看一下是什么原

[复制链接]
发表于 2006-9-10 17:20:19 | 显示全部楼层 |阅读模式
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
static int __init gpio_init(void)
{
        int err=0;
            printk("gpio_init\n");
//        err=register_chrdev(IOPORT_MAJOR,"gpio",&gpio_ctl_fops);
        if (err)
        {
                printk("fail to register\n");
                return -1;
        }
       
        printk("success to register\n");
        return 0;
}
int gpio_release(struct inode *inode,struct file *filp)
{
        printk("release this device\n");
        return 0;
}
module_init(gpio_init);
module_exit(gpio_release);
反正我敢担保代码绝对没错,可是用
gcc -Wall -D__KERNEL__ -DMODULE -I/usr/src/linux/include -O2  -c -o hello.o hello.c
编译时却出现了一大堆的错
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `lr' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `ip' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `lr' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `ip' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `lr' in `asm'
/usr/src/linux/include/asm/semaphore.h:88: unknown register name `ip' in `asm'
...
都是这些,高手帮帮忙看一下是什么问题?
发表于 2006-9-11 18:56:20 | 显示全部楼层
代码是有错误的!

在《linux1。0核心游记》
第三部分有模块的编写章节
回复 支持 反对

使用道具 举报

发表于 2007-3-23 15:24:42 | 显示全部楼层
Makefile:


obj-m := hello.o

KERNELDIR ?= /lib/modules/$(shell uname -r)/build
PWD       := $(shell pwd)

all:
        $(MAKE) -C $(KERNELDIR) M=$(PWD)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表