人生得一知己足矣,斯世当以同怀视之。 —— 鲁迅
人生得一知己足以,斯世当以同怀视之。人生本来就很短暂,能得一知己又是多么的幸运。 今天又花了将近一天时间,整理dwc3 usb验证套件,主体部分已经完成的差不多了,代码依旧在我的dwc3仓库中。这篇文章记录今天的工作内容,其实就是主体内容。
一、第二天进展
第一天完成了初始化流程,然后建了个Makefile工程进行统一管理。第二天完成以下几个部分:
- usb传输接口
- hub驱动
- 配置信息提取
总结下来就是host相关的主体工作算是搭建好了,能实现标准usb流程。
1.1 usb传输接口
加入控制传输,中断传输,bulk传输接口,都在usb.c中。
1.2 hub驱动
hub驱动负责完成usb设备的枚举,在文件usb_hub.c中。
1.3 一些库函数添加
lib/ctype.c
1.4 配置文件提取
配置文件放到根目录下,命名为dwc3portconfig.h。需要根据平台信息配置以下一些内容:
- 寄存器地址
- 一些buffer地址和usb3.0相关的数据结构地址(这部分目前还没有提取完善)
- 系统接口,例如打印,timer,内存分配/拷贝等。
二、第三天工作展望
到第三天工作结束,这个套件主体应该就完成了,后面就是测试和完善。
第三天要做以下工作:
- 完善dwc3portconfig.h文件,配置信息要提取完整。
- 支持gadget和otg模式。
- 设备控制接口实现(这个不是很紧急,似乎也没太大必要)