其实地上本没有路,走的人多了,也便成了路。 –鲁迅
一、工作进展
自从前几天dwc3 day3–platform,转眼一个星期了。上周六(8号)在验证环境下实验,发现一直不能检测到port connect信号。这周一(10号)检查了一天没发现什么问题,周二早上终于发现了,原来是phycfg寄存器的suspend位置1了。周三上午set address和get device descriptor的setup阶段都成功了。但是设备模型一直没有返回数据。真是头疼,今天又找mentor的人和SoC的朋友一起检查波形。
二、调试记录
2.1 代码流程分析
在遇到问题的时候经常需要review一下代码,随着不断的遇到问题,不知不觉review了好几次代码,每次都看出一些不兼容的地方。
这个代码执行流程是这样的:
- 控制器初始化,定义hccr,hcor,ctrl等关键数据结构,映射寄存器地址。
- 检测配置hub状态,获取hub描述符。
- 以roothub为根设备进行usb设备识别。检测到hub的connect信息之后,重新调用
usb_new_device
进行设备识别。
2.2 修改打印接口
更新串口打印接口并宏化,方面后续屏蔽。更改内存分配接口。
2.3 利用仿真环境查看执行情况
三、后续规划
host识别ramdisk设备之后,测试读写。
作者:abcamus 发表于2017/4/13 22:39:40 原文链接
阅读:83 评论:0 查看评论