历史上的今天
今天是:2024年08月26日(星期一)
2021年08月26日 | TQ2440 Uboot的USB下载修改
2021-08-26 来源:eefocus
准备学习下UBoot,下载了个TQ2440的UBoot,准备使用他的USB下载功能。但是TQ2440的UBoot中usb_slave只给出了编译好的二进制文件,看着极其不爽,所以准备移植下usbslave。下面列出具体步骤,参考了网上的文章。
1,下载usbslave的源代码,上传做个备份。点我下载 下载后将其解压到uboot的driver的目录。使用tar -jvxf 命令解压。解压后可以多出一个driver/usb/slave目录。
2,修改Uboot顶层的Makefile文件,在208行修改如下,用自己移植的usbslave代替TQ提供的usb.module。
#Lxp Modify ++
#LIBS += modules/usb.module
LIBS += drivers/usb/slave/libusb_slave.a
#Lxp Modify --
3,进入driver/usb/slave目录,我们可以看到Makefile中定义了libusb_slave.a这正是步骤2中我们替换原先的库的原因。尝试编译,会发现在interrupts.C中出现多个重复定义的错误,因此需要修改interrupts.C
4,最后需要修改board.c,将usb_init()改成usb_init_slave().
/* BEGIN: Modified by Lxp, 2012/8/20 PN:123 */
//usb_init();
Port_Init();
usb_init_slave();
/* END: Modified by Lxp, 2012/8/20 */
在port_init()中加入和自己开发板对应的USB_EN 管脚的配置 如我的是GPG9,则修改
gpioregs->GPGCON = 0xfd95ffba; /* thisway.diy, GPG12-->OUTPUT, GPG9-->OUTPUT for FS2410, as USB Device enable */
gpioregs->GPGUP = 0xffff; // The pull up function is disabled GPG[15:0]
gpioregs->GPGDAT &= ~((1<<9) | (1<<12)); /* disable USB Device, enable later, thisway.diy */
史海拾趣
|
Optimized diode design for IGBT's and GCT's switching circuits. Optimized diode design for IGBT\'s and GCT\'s switching circuits.… 查看全部问答> |
|
我开发板上定制的是wince5.0的系统,我用vs2005把我编写的程序部署进去以后,出现了这样的错误: 无法找到:pinvoke dll\"sqlceme30.dll\" 请问这是怎么回事?使系统定制的问题,还是程序的问题? 急求解决方法!!!!… 查看全部问答> |
|
------------以下串口发送部分 module uart_tx (clk,rst,tx_data,tx_data_valid,tx_data_ack,txd); -----------敏感变量包括时钟/复位,发送数据,发送数据有效,发送数据响应,发送数据线 output txd; ----------数据 ...… 查看全部问答> |
|
看到有人发这本书了,但是没有PDF资料。我给补上! 《51单片机c语言创新教程》以宏晶公司的stc89c52rc单片机为蓝本,由浅人深,并结合smartm51开发板系统地介绍单片机的原理与结构、开发环境的使用、各种功能器件的应 ...… 查看全部问答> |




