Проблемы с DFU на микроконтроллере LPC

Я пишу приложение для микроконтроллера LPC4330, которое позволит пользователю обновлять прошивку, используя класс USB DFU. Я написал весь код и хотел протестировать его с помощью программного обеспечения dfu-util. Но когда я пытаюсь сделать это, появляется несколько ошибок:

  1. Когда я перечисляю устройства USB, появляются два элемента с одинаковыми параметрами (идентификатор производителя, идентификатор устройства, конфигурация и интерфейс). Ситуация меняется, когда я делаю точку останова в приложении, где вызывается функция обработки прерывания. Тогда в списке появится только одно устройство.

  2. Я не могу отсоединить устройство, потому что я получаю сообщение об ошибке «USB-устройство не поддерживает DFU». Даже когда dfu-util указывает только одно устройство.

  3. Когда в списке только одно устройство, я могу начать выполнять операцию загрузки / выгрузки, но приложение отправляет мне сообщение об ошибке, такой интерфейс не может быть заявлен.

Что может быть причиной этих проблем? Может ли это быть связано с функцией LPC4330, позволяющей пользователю прошить программу в память с помощью dfu?

Заранее благодарю за ответ!

0

Решение

Вы пишете свой собственный DFU, это нормально. Могу ли я узнать, из какого режима вы пытаетесь обновить прошивку? Как вниз или вверх по течению.

И если вы пытаетесь из любого из режимов, пожалуйста, убедитесь, что вы создаете устройство только для определенного режима.

Отключение будет работать, только когда ваш DFU должен находиться в режиме выполнения. Поэтому, пожалуйста, убедитесь, что вы находитесь в режиме выполнения или в режиме DFU. А перед отключением попробуйте сбросить настройки устройства с помощью программной команды.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector