Я сделал STM32F042k6, устройство с батарейным питанием, которое я хотел бы прошить протокол vi DFU.
Для этого я отсоединяю аккумулятор, подтягиваю BOOT0 к VCC, а затем подключаю устройство к порту USB3 ПК (USB2 недоступен). Устройство не распознается и показывает VID: 0000 PID: 0002 (случай I)
Однако когда я сначала подключаю аккумулятор, а потом подключаю устройство к ПК, он распознается без суеты (случай II).
Проблема, с которой я сталкиваюсь, заключается в том, что я хотел бы инициировать переход к программе загрузчика с помощью команды в программном обеспечении, но тогда я достигаю того же состояния, что и в случае I.
Не могли бы вы помочь мне определить, какие условия правильной загрузки я нарушаю?
РЕДАКТИРОВАТЬ: Я обнаружил проблему, когда реализовал программный переход к загрузчику. Казалось, что он вообще не работает (исчезло устройство VCP, и появилось ошибочное ‹> устройство в системе PID: 0002 VID: 0000). Я хотел войти в загрузчик, потянув вверх пин BOOT0, но увидел, что добился успеха только при отключении и включении питания от батареи. Цикл питания USB привел к тому же устройству «отказавший дескриптор».
Я подозреваю, что при включении через USB загрузчик имеет проблемы с коммуникацией и не может установить правильные PID и VID. При питании от аккумулятора - этой проблемы нет.