Немного продвинулся вперед, запуская USB OHCI на платке AT91SAM9G45. Я добился начала обмена с LS устройством, но только "начала"...
Помогите протолкнуть обмен дальше, пожалста.
На данный момент обмен выглядит так:
- хост посылает запрос устройству GET_DESCRIPTOR_DEVICE (посылка видна на осциллографе), с запросом 0x40 байт данных.
- устройство начинает отвечть на запрос...
- пакет ответа "от устройства" прекращается примерно на трети от номинальной длины. (сравнивал с нормальным ответом)
- в программе заполняется только 8 байт данных в буфере, не смотря на то что функцияя чтения вернула длину буфера 0х40. Буфер выглядит криво:
usb_get_descriptor() = 0x40
Код
0x00]: 12 01 10 01
0x04]: 00 00 00 08
0x08]: CD CD CD CD
0x0C]: CD CD CD CD
0x10]: CD CD CD CD
0x14]: CD CD CD CD
0x18]: CD CD CD CD
0x1C]: CD CD CD CD
0x20]: CD CD CD CD
0x24]: CD CD CD CD
0x28]: CD CD CD CD
0x2C]: CD CD CD CD
0x30]: CD CD CD CD
0x34]: CD CD CD CD
0x38]: CD CD CD CD
0x3C]: CD CD CD CD
0x04]: 00 00 00 08
0x08]: CD CD CD CD
0x0C]: CD CD CD CD
0x10]: CD CD CD CD
0x14]: CD CD CD CD
0x18]: CD CD CD CD
0x1C]: CD CD CD CD
0x20]: CD CD CD CD
0x24]: CD CD CD CD
0x28]: CD CD CD CD
0x2C]: CD CD CD CD
0x30]: CD CD CD CD
0x34]: CD CD CD CD
0x38]: CD CD CD CD
0x3C]: CD CD CD CD
пробовал увеличивать значения в поле HcFmInterval и даже в HcLSThreshold... безрезультатно... =(
Кто знает USB, помогите, пожалста...