В настоящее время я пытаюсь использовать LibUSB для прямого доступа к контроллеру прошивки на устройстве USB. Как напрямую загрузить прошивку с устройства USB, чтобы ее можно было изменить позже (с помощью команд SCSI или библиотеки LibUSB)?
Ближайшим стандартом здесь является протокол обновления прошивки устройства USB (или «DFU»). Тем не менее, есть ряд важных предостережений:
Большинство USB-устройств вообще не имеют обновляемых прошивок. Большинство устройств имеют свои функциональные возможности, полностью определенные в аппаратном обеспечении или в маске ПЗУ.
Большинство устройств с обновляемой прошивкой не используют USB DFU для этого.
Даже из немногих устройств, которые поддерживают USB DFU, большинство не поддерживают команду «UPLOAD» для получения прошивки с устройства. (В большинстве устройств он служит очень малой цели.)
Если вы столкнетесь с одним из редких устройств, которые делает полностью поддерживает DFU, вы можете взаимодействовать с ним, используя dfu-util
. Однако это очень маловероятно.