提供了海量存储器描述符为什么仍然要求驱动呢?
我的USB开发板想做成一个U盘,我按照mass storage的bulk_only协议和ufi协议提供给主机描述符,为什么系统仍然要求提供驱动程序呢?
我的描述符是这样的
const char device_descriptor[] =
{
0x12, // 描述表大小 (18 bytes)
0x01, // 设备描述表类型
0x00, 0x01, // 兼容设备版本号(BCD码)
0x00, // class code (each interface specifies class information) */
0x00, // device sub-class (must be set to 0 because class code is 0)
0x00, // device protocol (no class specific protocol) */
0x10, // 端点0最大包大小(8,16,32,64)
0x00, 0x04, // 厂商ID
0x00, 0x01, // 产品ID
0x00, 0x01, // 设备发行号(BCD码)
0x00, // 厂商信息字符串索引
0x00, // 产品信息字符串索引
0x00, // 设备序列号字符串索引(不支持设为0)
0x01 // 可能配置数
};
const char Configuration_Descriptor[] =
{
0x09, // 配置描述表长度
0x02, // 配置描述表类型
0x20,0x00, // 配置描述表及附带表长度
0x01, // 接口配置数
0x01, // 配置描述表标识
0x00, // 配置描述表字符串描述表索引
0x20, // 配置属性
0x64 // 总线供电最大值(*2mA)
};
const char Interface_Descriptor[] =
{
0x09, // 接口描述表长度(9)
0x04, // 接口描述表类型
0x00, // 接口号(0)
0x00, // 轮寻设置(0 号端点)
0x02, // 端点数 (4)
0x08, // 接口类属
0x04, // 子类码
0x50, // 协议码
0x00 // 接口字符串描述表索引(不支持)
};
const char Endpoint1_out_Descriptor[] =
{
0x07, // 端点描述表长度(7)
0x05, // 端点描述表类型
0x01, // OUT 端点(1)
0x02, // 传输模式(0 控制、1 同步、2 批、3 中断传输)
0x10, 0x00, // 最大包大小(16)
0x00
};
const char Endpoint1_in_Descriptor[] =
{
0x07, // 端点描述表长度(7)
0x05, // 端点描述表类型
0x81, // IN 端点(1)
0x02, // 传输模式(0 控制、1 同步、2 批、3 中断传输)
0x10, 0x00, // 最大包大小(16)
0x00 // 轮寻时间 (1ms)
};
发表时间:2004年1月24日17:57:51