Чтобы прошить микроконтроллер STM32 через интерфейс SWD потребуется отладчик ST-Link. Его можно купить в интернет магазинах eBay, AliExpress и других или в магазине радиодеталей. Стоимость от 120 рублей. Выглядит он так. С одной стороны у него USB разъем для подключения к компьютеру, а в другой ряд контактов предназначенных для соединения с микроконтроллером STM32. Назначение контактов указано на корпусе. Чтобы прошить модуль Blue Pill нужно подключить отладчик и модуль четырьмя проводами (они находятся в антистатическом пакете вместе с ST-Link) как показано на картинке. Бывают ST-Link с другим расположением контактов. Это нужно учитывать при соединении отладчика и модуля. Далее нужно скачать с официального сайта STMicroelectronics приложение ST-LINK Utility. Для этого потребуется указать адрес почты на который отправят ссылку для скачивания. Или можете скачать с этого сайта. Из-за ограничений размера файла, архив разделен на две части - 1 и 2. Скачайте в одну папку и откройте в архиваторе поддерживающим многотомные zip архивы. Установка выполняется также как у других приложений и после ее завершения на рабочем столе появится ярлык приложения STM32 ST-LINK Utility. Запускаем и перед нами появится окно Теперь нужно подключить отладчик ST-Link к USB порту компьютера и в окне нажать кнопку "Connect to the target". Если все сделано правильно (отладчик подключен к модулю согласно схеме выше) и не произошло ошибок, в окне появится информация об микроконтроллере и содержимом flash памяти. Чтобы залить прошивку нужно открыть hex-файл кликнув по кнопке Open file и указав место его расположения на диске. В окне отобразится содержимое файла, а в логе появится сообщение об открытии файла. Теперь нужно нажать на кнопку Program verify. Это откроет окно прошивки в котором необходимо нажать на кнопку Start чтобы залить прошивку в модуль. Прошивка залита и можно закрыть приложение и отключить ST-Link от USB порта компьютера и от модуля Blue Pill. На этапе подключения могут появиться ошибки. Рассмотрим некоторые их них. Если не подключен отладчик или по какой-то причине приложение не может его обнаружить, появится это сообщение об ошибке. Если по той или иной причине недоступен интерфейс SWD из-за чего отладчик не сможет подключится к микроконтроллеру, появится эта ошибка. Следует проверить правильно ли подключен отладчик к модулю (возможно перепутаны провода) и надежность соединения (наличие контакта). Если подключено верно, возможно прошивка в микроконтроллере отключила SWD интерфейс или другим образом препятствует его работе (например используются энергосберегающие функции). Решение довольно простое. Необходимо перемычку BOOT0 находящуюся на плате модуля переместить из позиции 0, в позицию 1, что не даст возможности выполняться прошивке. Это необходимо сделать при отключенном от компьютера отладчике ST-Link и модуле Blue Pill. После прошивки эту перемычку нужно вернуть обратно в позицию 0, иначе прошивка работать не будет. Еще одна причина ошибки не позволяющая перевести микроконтроллер в режим программирования - защита прошивки от чтения. Иногда такое бывает модулях купленных в Китае. Чтобы отключить защиту от чтения, необходимо в меню Target открыть окно Option Bytes. Чтобы отключить защиту в выпадающем списке Read Out Protection следует выбрать Disabled. Также нужно убедится что в списке Flash sectors protection отсутствуют галочки. После нажатия кнопки Apply защита будет снята, а flash-память стерта. После устранения ошибок и успешного подключения к микроконтроллеру необходимо залить прошивку как написано выше. | |
Категория: Статьи | Добавил: emulator (10.01.2021) | |
Просмотров: 446 |
Всего комментариев: 0 | |