本文主要参考http://bbs.chinaunix.net/thread-1936080-1-1.html博文修改实现
原博文是基于u-boot-2009.8而本博文是基于u-boot-2010.3实现的
平台:fedaro9
交叉编译器:arm-linux-gcc 4.4.3
uboot: u-boot-2010.3
1、复制usb slave驱动源代码
创建drivers/usb/slave 目录,复制usb slave驱动源代码到此目录,请下载我提供的链接,原博文中的不可用
http://download.csdn.net/detail/xiaoaide01/7027467
2、修改uboot根目录下的Makefeils,添加红色部分代码
LIBS += drivers/usb/musb/libusb_musb.a # Apollo + LIBS += drivers/usb/slave/libusb_slave.a # Apollo - LIBS += drivers/video/libvideo.a |
3、修改lib_arm/board.c文件,添加红色部分代码
//Apollo +
/* enable exceptions */
enable_interrupts ();
extern int usb_init_slave();
usb_init_slave();
//Apollo
4、修改平台头文件,include/configs/mini2440.h,添加红色部分
#define CONFIG_USB_DEVICE 1 #ifdef CONFIG_USB_DEVICE #define CONFIG_USE_IRQ 1 #endif //#undef CONFIG_USE_IRQ /* we don't need IRQ/FIQ stuff */ |
5、修改cpu/arm920t/s3c24x0/interrupts.c 文件,添加arch_interrupt_init函数定义
//Apollo + |
6、修改cpu/arm920t/start.S,文件
#ifdef CONFIG_USE_IRQ |