sun3eyes
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2005-02-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1193回复:2

求助:嵌入式 usb驱动程序

楼主#
更多 发布于:2004-10-11 15:24
开发嵌入式Linux的usb驱动有什么特别啊?
我在redhat 上一切正常的小例子,搬到板子上却出错呢?

下面是简单的不能再简单的程序
//test1.c

#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <asm/uaccess.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/delay.h>
#include <linux/ioctl.h>
#include <linux/sched.h>
#include <linux/smp_lock.h>
#include <linux/devfs_fs_kernel.h>
#include <linux/usb.h>

#define DRIVER_VERSION "v1.0"
#define DRIVER_AUTHOR "TigerZD"
#define DRIVER_DESC "Naked Linux USB driver"

MODULE_AUTHOR( DRIVER_AUTHOR );
MODULE_DESCRIPTION( DRIVER_DESC );
MODULE_LICENSE("GPL");

static struct usb_driver naked_usb_driver = {
name : "nakedusb"
};

int init_module(void)
{
printk("<5>Module is loaded!\n");
/*usb_register(&naked_usb_driver);*/
return 0;
}

void cleanup_module(void)
{
printk("<5>Module is unloaded!\n");
/*usb_deregister(&naked_usb_driver);*/
}

下面是编译的命令和警告信息
gcc -D__KERNEL__ -DMODULE -c -I/usr/src/linux_2.4.18_mv30/include -o test.o test.c          
test.c:37:2: warning: no newline at end of the file
make: warning:  Clock skew detected.  Your build may be incomplete.    

也生成了test.o,clock skew 是怎么回事?

然后insmod test.o出错如下
testdriver.o: unresolved symbol _gp_disp

嵌入式linux是montavista 3.0

哪位高人给点建议吧

还要给分啊,我的分太少了,先少给点吧 :D
ygm99
驱动牛犊
驱动牛犊
  • 注册日期2001-11-19
  • 最后登录2006-01-19
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-10-11 17:03
附件中的是我在SNDS100上基于uCLinux做的驱动程序框架!
测试通过!
附件名称/大小 下载次数 最后更新
2004-10-11_mdldrv.rar (3KB)  18
学习ARM+uClinux中, 问题多多,请多指教! 我的开发板:HJARM4510b。 看上去跟samsung的SNDS100类似。 S3C4510b+16MBRAM+2MB flash 正在学习uClinux的驱动程序的开发!
sun3eyes
驱动牛犊
驱动牛犊
  • 注册日期2004-07-13
  • 最后登录2005-02-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-10-12 09:35
谢谢ygm99.
我的问题解决了,在编译的时候加上参数 -fno-pic -mno-abicalls 就可以了。嵌入式和台式机还有区别啊
游客

返回顶部