#embedded #boot #mcu
#встроенный #загрузочный #mcu
Вопрос:
Я изучаю встроенные системы и имею представление об одном небольшом проекте, и я хочу использовать MCU STM32G081KBT6 на базе Cortex M0 . Я видел много руководств с этим типом MCU, но все они основаны на плате разработчика, и с их помощью очень просто загружать код с помощью USB-кабеля. Я хочу сделать свою собственную печатную плату для этого. Итак, мой вопрос в том, что мне нужно сделать, чтобы я мог загрузить свой код на этот микроконтроллер?
Из таблицы данных я думаю, что я должен использовать порты SWDIO (PA13) и SWCLK (PA14) для загрузки, но если кто-нибудь может мне помочь, нужно ли мне использовать также некоторые резисторы, могу ли я сделать это с помощью USB для проводной передачи, или я должен использовать какое-то внешнее устройство, чтобы сделать это возможным? Или есть какое-то более простое и лучшее решение для загрузки кода с моего ноутбука на микроконтроллер?
Спасибо за ответы.
Комментарии:
1. Я понимаю, что создание такой платы является сложной задачей, но то, что вы делаете, — это просто программист, такой как ST-Link или J-Link. Если ваша цель — создать его, воспользуйтесь приведенным ниже советом. Если ваша цель — иметь возможность программировать свои собственные платы, а не платы разработчиков, купите программатор. Помимо простого создания платы, вам также необходимо написать для нее драйвер. Программное обеспечение, запущенное на вашем компьютере, принимает шестнадцатеричный файл и отправляет его на оборудование. Если вы хотите иметь возможность отлаживать, вам предстоит проделать гораздо больше работы.
Ответ №1:
Есть два основных варианта:
SWD
Внедрите программный соединитель SWD. В основном доступны контакты GND, SWDIO, SWCLK и, предпочтительно, 3,3В. Никакие резисторы не требуются. Вы можете установить 4-контактный разъем, официальный 10-контактный разъем SWD или просто 4 пэда (для подключения с помощью адаптера с выводами pogo).
Для этого параметра требуется адаптер отладки SWD, такой как ST-Link или J-Link. В дополнение к загрузке прошивки, эта опция поддерживает отладку.
USART
Сделайте доступными на плате контакты USART (RX, TX) плюс GND и 3,3 В. Для этого параметра требуется адаптер USB-to-serial.
Вместо этого также можно использовать I2C или SPI, хотя я не знаю стандартных решений для подключения к вашей плате.
USB не подходит для этого конкретного чипа. Однако он поддерживается на многих более дорогих чипах STM32.
Я настоятельно рекомендую первый вариант. Он гораздо более универсален, чем другие варианты. И адаптер ST-Link не стоит дорого.
Подробная информация о возможностях загрузчика и выводах:
Комментарии:
1. Не использовать SWD при программировании Cortex M — это все равно что кодировать на ПК без подключенного монитора. Если кто-то не использует его, он делает это неправильно, точка.