创建drivers/usb/slave 目录,复制usb slave驱动源代码到此目录(详见附件)
|
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文件,添加红色部分代码
|
|
4、修改平台头文件,include/configs/utu2440.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函数定义
|
|
6、修改cpu/arm920t/start.S,文件
|
|
|
|
8、添加usbslave命令
在common目录下创建cmd_usbslave.c
|
# ifdef CONFIG_USB_DEVICE # ifdef CONFIG_USE_IRQ int g_bUSBWait = 1; extern int download_run; extern __u32 usb_receive( char * buf, size_t len, unsigned int wait) ; int do_usbslave ( cmd_tbl_t * cmdtp, int flag, int argc, char * argv[ ] ) /* download_run为1时表示将文件保存在USB Host发送工具dnw指定的位置 case 3: dwUSBBufBase = load_addr; g_dwDownloadLen = usb_receive( dwUSBBufBase, len, g_bUSBWait) ; U_BOOT_CMD( # endif |
修改common/Makefile
|
COBJS-$(CONFIG_USB_KEYBOARD) += usb_kbd.o # Apollo + COBJS-$(CONFIG_USB_DEVICE) += cmd_usbslave.o # Apollo - |
|
原创文章,转载请注明:转载自 风雨无阻博客(http://Apollo5520.cublog.cn )
本文链接地址:http://blog.chinaunix.net/u3/105764/showart_2144192.html