Я хочу написать код на плате STM32F407. Поэтому я написал код примера blink и выполнил его. а затем вставить в него двоичную программу. После этого я отключил USB физически и снова подключился. Но usb не ответил. поэтому я открыл «диспетчер устройств», чтобы узнать, что произошло. При подключении USB-устройства STM32 обнаружено «неизвестное устройство (сбой дескриптора устройства)». Я сделал все возможное, чтобы решить эту проблему. Какое решение существует для этой проблемы ..?STM32 Bootloader не работает
2
A
ответ
2
Пока приложение работает, на USB-устройстве не будет присутствовать, если ваше приложение не реализует USB-накопитель. USB-устройство DFU существует только на самом деле в загрузчике. См. Код кода загрузчика раздел в AN3156. Чтобы войти в DFU, вы должны сконфигурировать булавки BOOT0/BOOT1 для Режим загрузки системной памяти.
Если вы включили , ознакомьтесь с защитой, которая отключит режимы загрузки памяти SYSTEM и SRAM, и чип потребуется разблокировать, чтобы восстановить программируемость с помощью этих методов.
Как установить контакты BOOT? Jumper уже на моей плате, и эта плата STM32 не может общаться с компьютером сейчас. – knolz
Не зная, какая у вас панель и ее текущие настройки перемычек, мы не можем вам сказать, но на самом деле это не так, вопросов. Если у вас установлена перемычка для загрузки системной памяти, то другая проблема очевидна. Я никогда не использовал DFU, я использую JTAG/SWI и свой собственный код загрузчика во флэш-памяти для обновления в полевых условиях - намного проще в долгосрочной перспективе IMO. Следовательно, это может не очень помочь. Однако, если ваше приложение blink продолжает работать, вы не находитесь в режиме DFU и загружаетесь со вспышки. – Clifford