0
Я пытаюсь обновить прошивку на устройстве Atmel от среды Windows CE. Вот фрагмент из моего исходного кода:Прошивка устройства udpate и libusbx API в Windows CE
uint8_t buf[127];
struct libusb_device_handle *handle=NULL;
fp = fopen("\\Nandflash\\a.hex", "r+");
size_t re = fread(buf, 4, 1, fp);
cstatus = libusb_control_transfer(
handle,
LIBUSB_ENDPOINT_OUT|
LIBUSB_REQUEST_TYPE_VENDOR|
LIBUSB_RECIPIENT_INTERFACE,
0xA0, //Upload
0x01, //Address of the device
0,buf, sizeof(buf), 100);
Я постоянно получаю в результате передачи управления. Как я могу исправить эту проблему?
могли бы вы просветить меня с тем, что должно быть функцией is_my_device – user3068597
Вы, вероятно, хотите сделать некоторые соответствия на вашем VID и PID для убедитесь, что вы знаете, о чем говорите. Все зависит от вашей реализации. – Preston
Я пробовал r = libusb_get_device_descriptor (dev, &desc); сравнить desc vid и pid с известными vid и pid.Я также попытался получить дескриптор через devh = libusb_open_device_with_vid_pid (NULL, 0x05ba, 0x000a), я все еще получаю -9. правильный параметр для libusb_control_transfer? какие значения являются четвертым и пятым, предположительно? – user3068597