uboot之usbtty (一)
来源:互联网 发布:mac cad中文字体下载 编辑:程序博客网 时间:2024/09/21 09:21
Uboot之usbtty
目录
1. usb device 总体框架
2. 文件组成
3. 模块划分
1.1 Usb device总体框架
1.1.1 逻辑结构
Freescale Mx25中USB部分有两部分结构组成,如下图
对于支持otg,使用的接口是UTMI,而在utmi部分也提到该逻辑结构,
从这点来看,如果想要支持otg,选择的模式就是UTMI接口,这在寄存器中也有相应配置。
Freescale的USB部分文档结构很清晰,我们知道USB device的数据结构和 host的有区别,这里只介绍它的device结构。包括QH和DTD,总的数据结构如下, 1.1.1 Device data structrues
可以看到ENDPOINTLISTADDR寄存器存放所有端点中0号OUT端点的起始地址,硬件上通过该寄存器可以知道所有端点QH的地址。
QH结构之后是DTD链表,至于长度可以由你传输的数据决定。不过对于usbtty传输来说,bulk传输在FS下最大能达到64字节一包,而HS下可以达到512字节一包。
Qh的结构如下图所示,1.1.1.1 Endpoint Queue Head(QH)
对于USB传输,无论四种传输的那一种,都与QH结构由很大的关系,比如Next dTd point 填写的就是DTD链表中头节点的物理地址,max packet Length为传输最大包长,ios用于表示是否回应setup包的传输,zlt表示是否选择构建0长传输包。而最后的setup buffer 8字节正好setup包的大小,在控制传输时,读取setup数据正在此buffer中。mult用于根据不同传输模式选择会话数目的多少,对于中断传输,一次只能一个transcation.
这里特别说说zlt的使用。Usb中构建包的原则为二种情况,最后一个包长度小于最大包长,如果最后一个包长度长度为最大包长,这时有两种情况。
一般情况下,0长包是必须存在的,否则在传输正好最大包长的数据时往往会出现错误,需要重发一个0长包。
- uboot之usbtty (一)
- uboot之usbtty (二)
- uboot之OHCI (一)
- uboot分析之Makefile(一)
- uboot一之启动过程
- uboot分析----(一)
- Uboot编写(一)
- uboot解析(一)
- 认识Uboot(一)
- uboot系列之-----顶层Makefile分析(一)
- uboot系列之-----顶层Makefile分析(一)
- uboot系列之-----顶层Makefile分析(一)
- X210v3S的BSP构建之uboot移植(一)
- [uboot] (番外篇)uboot之fdt介绍
- Uboot运行分析(一) .
- Uboot的使用(一)
- Uboot运行分析(一) . .
- UBOOT目录解释(一)
- 数据库和网络工程师哪一个比较有用?
- 模块化的JavaScript编码风格
- SQL Server CLR 极速入门,启用、设计、部署、运行
- 慢连接&LazyParser
- 客户端架构技术——基于Open API的架构实现
- uboot之usbtty (一)
- Android 软键盘相关
- strcpy()、memcpy()、memmove()、memset()的实现
- Javascript Memoizer
- centOS5.5 配置vnc,开启linux远程桌面
- HTML Images
- ORACLE优化器
- SQL 注入攻击
- ORACLE优化器