isstar (24.05.2014 11:19 - 19:01, просмотров: 112) ответил Hivex на правильно делает, там в либе надо весьма много переписать в "mass_mal.c" и "memory.c" под другой размер блока.
Спасибо за наводку, кажется, я первый раз в жизни обнаружил ошибку в библиотеке. В файле memory.c есть строка следующего вида:
uint32_t Data_Buffer[BULK_MAX_PACKET_SIZE *2]; /* 512 bytes*/
Однако, ранее определено:
#define BULK_MAX_PACKET_SIZE 0x00000040
Таким образом, буфер получается слишком маленьким.
Я выкрутил его размер на 4096 байт и всё заработало.
Больше менять ничего не пришлось, кроме ранее упомянутых констант в mass_mal.c
Хотя нет, тип то задан uint32_t, поэтому у них 512 байт получалось... Ошибки нет.