原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。
http://lancelot.blog.51cto.com/393579/241924
TD数据结构定义如下:
General Transfer Descriptor
typedef struct _AT91S_UHP_TD {
volatile unsigned int
Control;
volatile unsigned int
CBP;
volatile unsigned int
NextTD;
volatile unsigned int
BE;
}
AT91S_UHP_TD, *
AT91PS_UHP_TD;
|
General Transfer Descriptor
Transfers for control, bulk, and interrupt all use the same format for their Transfer Descriptor (TD). This General TD is a 16-byte, host memory structure that must be aligned to a 16-byte boundary.
General Transfer Descriptor Format
|
3
|
|
2
|
2
|
2
|
2
|
2
|
2
|
|
2
|
2
|
1
|
1
|
|
|
|
|
|
|
|
|
|
|
0
|
|
0
|
|
1
|
|
8
|
7
|
6
|
5
|
4
|
3
|
|
1
|
0
|
9
|
8
|
|
|
|
|
|
|
|
|
|
|
3
|
|
0
|
Dword 0
|
CC
|
EC
|
T
|
DI
|
DP
|
R
|
—
| |||||||||||||||||||
Dword 1
|
Current Buffer Pointer (CBP)
| |||||||||||||||||||||||||
Dword 2
|
Next TD (NextTD)
|
0
| ||||||||||||||||||||||||
Dword 3
|
Buffer End (BE)
|
Note: In Dword0, there are fields that are read/write by the HC. The unused portion of this Dword (indicated by ‘—’ ) must either not be written by Host Controller or must be read, and then written back unmodified. The Host Controller Driver should not modify
any portion of the TD while it is accessible to the HC.