设备的端点是有USB PHY芯片决定的,那每一个端点的特性也是芯片决定好的吗?如我现在的USB协议栈中的描述符里:
/* Endpoint 1 descriptor */
0x07, 0x05, 0x84, 0x03, 0x08, 0x00, 0x0B,
/* Data Class Interface Descriptor Requirement */
0x09, 0x04, 0x01, 0x00, 0x02, 0x0A, 0x00, 0x00,0x00,
/* First alternate setting Endpoint 1 descriptor */
0x07, 0x05, 0x01, 0x02, 0x00, 0x02, 0x00,
/* Endpoint 2 descriptor */
0x07, 0x05, 0x82, 0x02, 0x00, 0x02, 0x00,
其中端点4位IN中断端点,端点1和端点2分别为OUT批量端点和IN批量端点
但当我修改端点的ID号时则不能用,比如将IN批量端点为0x82修改为0x86,则无法实现device向host传数......我的PHY芯片是支持16个IN端点和OUT端点的,那么,对应ID号的端点的特性是在PHY芯片中定好的呢,还是可以自定义某一个端点为IN或者OUT呢?
|