本帖最后由 一只耳朵怪 于 2018-6-21 11:46 编辑
AM335X的
开发板,将USB0 设置成HOST模式,插着U盘启动开发板的时候,可以正常识别U盘,只要不断电,多次拔插U盘都能正常识别和工作;
但是,上电启动如果没有插着U盘的话,就没有办法识别到U盘,无论怎么拔插,都没有办法识别;
跳过板子的USB0VBUS的
电源控制开关,直接给USB0VBUS直接供5V的话,无论上电的时候有没有插U盘,都可以正常识别到U盘;
这个问题很蹊跷,不知道是哪里设置不对造成,在编译内核的时候也去掉了OTG模式的支持;
读过
ti的文章,说是有可能电源处的电容太大,或者保护管子的原因,导致保护
威廉希尔官方网站
启动,而关掉USB0DRV,但是我把电容什么的都拿掉,就留下一个104pF的小电容意思一下,感觉不像是这个原因;
将USB0修改成HOST的地方如下;
static struct omap_mu***_board_data mu***_board_data = [
.interface_type = MUSB_INTERFACE_ULPI,
/*
* mode[0:3] = USB0PORT's mode
* mode[4:7] = USB1PORT's mode
* AM335X beta EVM has USB0 in OTG mode and USB1 in host mode.
*/
.mode = (MUSB_HOST << 4) | MUSB_HOST,
//.mode = (MUSB_HOST << 4) | MUSB_OTG,
.power = 500,
.instances = 1,
];
只改了这个地方,其他地方没有动过,一直找不到原因,望有大侠指点;