Обновление прошивки ST-LINK на плате STM32 DISCOVERY |
![]() |
Добавил(а) microsin |
В популярных платах компании ST (STM32F4DISCOVERY, 32F429IDISCOVERY и других) основанных на процессоре STM32F4xx, имеется встроенный отладчик ST-LINK. Этот отладчик работает на отдельном процессоре STM32F103CBT6. Некоторые версии прошивки для этого отладчика поддерживают комбинированное USB-устройство, в котором отладчик ST-LINK совмещен с виртуальным COM-портом VCP. Это дает удобную возможность организовать отладочный вывод в консоль терминала. Для обновления firmware ST-LINK есть 2 утилиты: STSW-LINK007 [1] и STSW-LINK004 [2]. Обе работают через интерфейс USB, используя встроенные возможности для обновления в прошивке отладчика ST-LINK. STSW-LINK007 более простая утилита, STSW-LINK004 более продвинутая (STSW-LINK007 входит как составная часть в пакет установки STSW-LINK004), но в сущности они делают одно и то же. К сожалению, не все прошивки отладчика ST-LINK позволяют обновиться до версии, которая поддерживает комбинированное устройство ST-LINK+VCP (подробнее см. [3]). Если у Вас старая версия прошивки ST-LINK, то для использования утилиты обновления [1] или [2] для получения версии ST-LINK с поддержкой VCP (ST-LINK/V2-A или ST-Link V2.1) необходимо сначала воспользоваться ROM-загрузчиком чипа STM32F103CBT6, чтобы записать firmware отладчика ST-LINK версии 2.1. ROM-загрузчик STM32F103CBT6 работает через ножки порта USART PA9 TX (ножка 30 корпуса LQFP48) и PA10 RX (ножка 31 корпуса LQFP48). Активируется ROM-загрузчик при включении питания, если в этот момент вывод BOOT0 (ножка 44 корпуса LQFP48) притянут к уровню лог. 1 (+3.3V). Для взаимодействия с ROM-загрузчиком (передачи ему прошивки) используется утилита STM32 Flash loader demonstrator [4]. [Обновление до ST-LINK/V2 с помощью ROM-загрузчика] 1. Подключите USB - TTL UART адаптер к ножкам U2 STM32F103CBT6 - PA9 TX (выв. 30) и PA10 RX (выв. 31), ножку BOOT0 (выв. 44) соедините с питанием 3.3V. Ниже на рисунке в качестве примера показано подключение к микроконтроллеру STM32F103CBT6 отладчика ST-LINK на плате STM32F4DISCOVERY. Сигналы TX и RX можно найти на SMD-резисторах R4 и R17 соответственно, а BOOT0 на R7, +3.3V удобно взять с конденсатора C7, землю с ножки 3 коннектора CN2 SWD: 2. Включите питание STM32F103CBT6, и с помощью FLASHER-STM32 [4] запишите а память STM32F103CBT6 файл Protected-2-1-Bootloader.bin (это прошивка, которая взята из статьи [6]). 3. Отключите питание от платы, отсоедините TTL UART адаптер от ножек PA9 TX и PA10 RX STM32F103CBT6, ножку BOOT0 соедините с GND (т. е. верните все как было). 4. Подключите питание, соединив с компьютером плату STM32F4DISCOVERY через коннектор CN1. В Диспетчере Устройств Windows должно появиться устройство STM32 STLink. 5. Запустите STM32 ST-LINK Utility (версии 4.3.0.0), выберите в меню ST-LINK -> Furmware update. Откроется окно утилиты обновления. Важное замечание: STM32 ST-LINK Utility нужна именно версии 4.3. Более новая утилита может не работать, например версия утилиты 4.6 на прошивку Protected-2-1-Bootloader.bin выдаст сообщение "неизвестная версия firmware". Правильную версию STM32 ST-LINK Utility 4.3 и прошивки ST-LINK см. в архиве [7]. Нажмите кнопку Device Connect, появятся возможные варианты обновления: - STM32 Only. Отладчик ST-LINK будет поддерживать только микроконтроллеры STM32. После выбора варианта нажмите кнопку "Yes >>>>". Через несколько секунд ST-Link обновится до нужной версии. [Виртуальный COM-порт в отладчике ST-Link] Если выбрать прошивку STM32+MSD+VCP, то вместе с отладчиком ST-Link получается виртуальный COM-порт (комбинированное устройство USB), который очень удобно использовать как консоль терминала. Компьютер хоста отладки может посылать и принимать символьные сообщения через USART2 отлаживаемого микроконтроллера U4 STM32F407VGT6. Замечание: вариант STM32+MSD+VCP подойдет в том случае, если у Вас STM32F103 с памятью программ 128 килобайт (STM32F103CBx или китайский чип STM32F103C8x). Если же размер памяти 64 килобайта (STM32F103C8x), то вместо варианта STM32+MSD+VCP выберите STM32+Audio, у него тоже реализован VCP. Схема соединений для STM32F4DISCOVERY получается следущая: [U2 STM32F103CBT6 ST-LINK] [U4 STM32F407VGT6] Примечание: для платы 32F429IDISCOVERY с микроконтроллером STM32F429ZIT6 соединения между портами USART уже разведены. Вместо USART2 отлаживаемого микроконтроллера STM32F429ZIT6 здесь используется USART1 и его ножки портов PA9 (TX) и PA10 (RX) [U2 STM32F103CBT6 ST-LINK] [U5 STM32F429ZIT6]
[Ссылки] 1. STSW-LINK007 site:st.com. |