调试OTG的时候发现无法识别USB,开始定位问题。
先来看看硬件部分:
1.供电部分
2.USB插入检测(USB插入时候VCC_OTG_5V有5V电压,然后OTG_DET 3.3V)
3.USB座子
再来看软件流程:
1.UBOOT启动,检测RECORVER按键是否为低电平,如果为低,则进入do_rockusb.根据串口判断已经进入了升级模式,问题应该出现在DO_ROCKUSB函数里面
2.do_rockusb里面有个循环,等待USB连接后查询USB的状态,发送USB初始化的数据帧。调试的时候发现一只USB枚举超时了,超时等待可以在DO_ROCKUSB参数修改为0,这样就不会超时后RECOVERY模式了,问题应该就在USB通讯上面。