Программирование ARM Обновление прошивки ST-LINK на плате STM32 DISCOVERY Thu, February 25 2021  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.

Обновление прошивки 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 адаптер к ножкам PA9 TX и PA10 RX STM32F103CBT6, ножку BOOT0 соедините с питанием 3.3V. Ниже на рисунке в качестве примера показано подключение к микроконтроллеру STM32F103CBT6 отладчика ST-LINK на плате STM32F4DISCOVERY. Сигналы TX и RX можно найти на SMD-резисторах R4 и R17 соответственно, а BOOT0 на R7, +3.3V удобно взять с конденсатора C7, землю с ножки 3 коннектора CN2 SWD:

ST LINK STM32F4DISCOVERY connections to ROM bootloader

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. Откроется окно утилиты обновления. Нажмите кнопку Device Connect, выберите вариант STM32+STM8, нажмите кнопку "Yes >>>>". Через несколько секунд ST-Link обновится до нужной версии.

ST LINK Upgrage select variant

Примечание: обязательно используйте STM32 ST-LINK Utility версии 4.3.0.0, более новые версии могут не работать (например, у меня STM32 ST-LINK Utility версии 4.6.0.0 отказывалась обновлять). Правильную версию STM32 ST-LINK Utility 4.3 см. в архиве [7].

[Ссылки]

1. STSW-LINK007 site:st.com.
2. STSW-LINK004 site:st.com.
3. RN0093 Firmware upgrade for ST-LINK, ST-LINK/V2, ST-LINK/V2-1 and STLINK-V3 boards site:st.com.
4. STMFlashLoader Demo.
5. AN3155: протокол загрузчика USART STM32.
6. Делаем ST-Link V2.1 из китайского ST-Link V2 site:habr.com.
7210114ST-LINK-DISCOVERY-firmware-update.zip - прошивки, документация, утилиты.

 

Добавить комментарий


Защитный код
Обновить

Top of Page