TI中文支持网
TI专业的中文技术问题搜集分享网站

am335x custom board 的uboot usb 驱动

您好:

基于am3352自己做的板子,MMC0悬空没有接SD卡,MMC1挂的eMMC,启动顺序为MMC1,MMC0,UART0,USB0。

现在想从usb0烧写eMCC,目前可以通过uart烧写spl和uboot, eMCC DDR驱动正常,把板子连电脑没有发现设备,打印为:

starting USB…
USB0: Port not available.

看到这篇帖子

https://e2echina.ti.com/question_answer/dsp_arm/sitara_arm/f/25/t/113233

说到:“首先,确认板子用于启动的USB0的电路设计,必须要能工作在USB device的模式上”,想请问下,如果电路硬件没有设置为device模式,可以在uboot里配置寄存器设置,相当于通过uboot驱动,让电脑发现设备,再通过USB烧写,想请问如果可行,怎么具体操作,谢谢!

Shine:

在硬件上,USB ID管脚需要悬空才能工作在device模式。请参考下面的checklist
processors.wiki.ti.com/…/AM335x_Schematic_Checklist

硬件上设置好后,uboot里也要使能dfu功能。
processors.wiki.ti.com/…/Linux_Core_U-Boot_User's_Guide

Yan Jiang2:

回复 Shine:

您好,

谢谢回复,我们板子ID管脚是悬空状态,我有两个问题

1.您说通过DFU通过USB烧写,我再menuconfig里没有找到

另外根据这篇烧写说明,我也想用UniFlash烧写eMMC

e2echina.ti.com/…/316317

其中说

“ Romcode 会初始化 USB RNDIS 以太网络通信协议,通过Windows 宿主机上 Uniflash 自带的 DHCP 服务器进程拿到分配的 IP 地址,然后再通过Windows 宿主机上 Uniflash 自带的 TFTP 服务器进程将 Uniflash 设定的 tftp 目录下用于eMMC 烧写的特殊的 SPL 下载到 AM335x 的内部 ram 中并运行。”

按理说不用先烧录spl和uboot,插上电脑应该识别出来为 RNDIS设备对么?BBB的板子是有什么特殊设置么?我想同样烧写需要怎么做。

Yan Jiang2:

回复 Shine:

SDK为:ti-processor-sdk-linux-am335x-evm-05.02.00.10
配置文件:am335x_evm_defconfig

yongqing wang:

回复 Yan Jiang2:

请看看这个帖子的讨论

Yan Jiang2:

回复 yongqing wang:

您好,

谢谢回复,讨论中的板子插上电脑都有发现设备,想请问我这样插上没反应的可能性是什么?因为还没到烧写呢。

yongqing wang:

回复 Yan Jiang2:

你最好对比一下你参考的板子,看看是否电路和上电现象是一致的

Yan Jiang2:

回复 Shine:

您好,

可能之前问题不明确我再补充一下。

首先我买了块BBB的板子,连上usb0就能发现RNDIS设备(通过UniFlash烧写),但是我们板子却接上电脑没有反应。
我们的USB0_VBUS管脚也没接,TRM里这么说:
“When assuming the role of a peripheral, assuming that the firmware has set the POWER[SOFTCONN] bit, and the USBx_ID pin is floating (h/w option) or USBx Mode Register IDDIG bit field is programmed with ‘1’(s/w option) and an external host is sourcing power on the USBx_VBUSIN line then the USB2.0 controller will set the DEVCTL[SESSION] bit instructing the controller to go into session. ”

是不是接了这个比较输入后?ROM才能初始化一个RNDIS设备,我试了在uboot里把 DEVCTL[SESSION] 这个置1,但是电脑依然没有刷新,请支持,我需要怎么做,才能才UBOOT里使能RNDIS。谢谢!

Shine:

回复 Yan Jiang2:

不管是host还是peripheral模式,VBUS都需要连接,peripheral mode:USBx_VBUS should be connected directly to the VBUS pin on the USB connector

Yan Jiang2:

回复 Shine:

谢谢您的回复,那usb暂时不可用了。我还想请问,我是否可以通过uart或emac1加载kernel到ddr3上运行,先不考虑烧写emmc。
谢谢!

Shine:

回复 Yan Jiang2:

可以通过uart 或ethernet加载kernel,可以看下面的uboot加载方式。
processors.wiki.ti.com/…/Linux_Core_U-Boot_User's_Guide

赞(0)
未经允许不得转载:TI中文支持网 » am335x custom board 的uboot usb 驱动
分享到: 更多 (0)