# Прошивка ESC через STLink

Обновить прошивку в ESC "Велес" на базе микроконтроллеров STM32 рекомендуется выполнять путем прошивки МК с помощью программатора ST-Link или аналогичного. Этот метод гораздо стабильнее, чем обновление через конфигуратор. Очень часто базовый конфигуратор АМ32 может зависнуть в момент прошивки и превратить ESC регулятор в "кирпич". И чтобы его "оживить" вам все равно придется прибегнуть к программатору.

<mark style="color:green;">Рекомендованные бюджетные варианты программаторов:</mark>

* [WeAct STLink V2.1](https://aliexpress.ru/item/1005005303809188.html?sku_id=12000034319503731)
* [ST-Link V2 Mini](https://www.chipdip.ru/product/st-link-v2-mini-multicolor-vnutrishemnyy-9000563621)
* [ST-Link V3](https://www.chipdip.ru/product/stlink-v3set-vnutrishemnyy-st-microelectronics-9001570245)

Теперь вам необходимо установить программу [STM Cube Programmer с официального сайта](https://www.st.com/en/development-tools/stm32cubeprog.html). Для этого вам потребуется создать бесплатный аккаунт и возможно потребуется VPN, т.к. без него в текущий момент времени не дает скачать файл. Так же вы можете [скачать данную программу в нашем облаке](https://disk.yandex.ru/d/CKGYqGKFrbUBBA), однако версия может быть не самой актуальной, что никак на результат все равно не влияет.

Во время установки вам предложит установить драйвера для ST-Link, обязательно соглашаемся, иначе ST Cube Programmer не увидит программатор среди списка устройств. После установки открываем программу, вам будет доступно окно:

<figure><img src="https://1961960647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXxAwI6bWREqis1XTkVOS%2Fuploads%2FQ827bgeUeBvqwKi5IzKW%2F%7BFB11241E-7953-476E-8C8D-7ACC830D40C2%7D.png?alt=media&#x26;token=411ab0a6-ab4d-4a00-9155-d0ca43d8c0c9" alt=""><figcaption></figcaption></figure>

Теперь необходимо подключить программатор ST-Link к целевой плате, для этого подключаем сигналы: <mark style="color:red;">+3.3V</mark>, <mark style="color:green;">SWCLK</mark>, <mark style="color:orange;">SWDIO</mark> и <mark style="color:$primary;">GND</mark>. Подавать внешнее питание не нужно, т.к. программатор сам обеспечивает питания для микроконтроллера STM32 и других необходимых для прошивки блоков.

<figure><img src="https://1961960647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXxAwI6bWREqis1XTkVOS%2Fuploads%2F2PbtTJlteb1ms5IGIMgF%2F%7B98A8097D-69C3-4598-8DAB-841FD536033C%7D.png?alt=media&#x26;token=0ded0ab3-168f-4a16-a928-1b23cb6172b8" alt=""><figcaption></figcaption></figure>

Подключиться к контактам <mark style="color:$primary;">SWD</mark> интерфейса можно как с помощью пайки, так и более удобный вариант - пружинные штыри с шагом 2.0 мм, например, [такие](https://aliexpress.ru/item/1005010360722029.html?mixer_rcmd_bucket_id=testRankingSimilarDatasetAndContextPureOrder\&pdp_trigger_item_id=0_1005008653881411\&ru_algo_pv_id=294a4b-61b690-16d01c-502ac6-1776092400\&scenario=aerSimilarItemPdpRcmd\&shpMethod=CAINIAO_STANDARD\&sku_id=12000052131271667\&traffic_source=recommendation\&type_rcmd=core):

<figure><img src="https://1961960647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXxAwI6bWREqis1XTkVOS%2Fuploads%2FcCsXYXJYKLqdNnz8Sydx%2F20260413_184703.jpg?alt=media&#x26;token=08c9bb39-f9b6-4ae8-a891-a9559c66bdb1" alt=""><figcaption></figcaption></figure>

После этого переходи в ST Cube Programmer, выбираем справа вверху ST-Link, жмем на значок <mark style="color:$primary;">"Обновить"</mark> и должен появиться серийный номер. Это означает, что программа видит подключенный программатор и теперь нажимаем <mark style="color:$primary;">"Connect"</mark>, программатор вычитает память и определит тип микроконтроллера справа внизу:

<figure><img src="https://1961960647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXxAwI6bWREqis1XTkVOS%2Fuploads%2F1zRBrbHz3CkkjHK4ZxP5%2Fimage.png?alt=media&#x26;token=51e97725-0479-4a74-801f-20eeda3c0ec4" alt=""><figcaption></figcaption></figure>

Теперь переходим слева вверху в раздел <mark style="color:$primary;">"Erasing & Programming"</mark>, указываем путь до файла с прошивкой и жмем <mark style="color:$primary;">"Start Programming"</mark>. Если все прошло успешно, то внизу в консоли увидев надпись <mark style="color:$primary;">"Successfully"</mark> и после этого можно отключаться, нажав кнопку <mark style="color:$primary;">"Disconnect"</mark>:

<figure><img src="https://1961960647-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FXxAwI6bWREqis1XTkVOS%2Fuploads%2FSwEs9p3BU1DvgTChzDUt%2Fimage.png?alt=media&#x26;token=8bc040c3-e928-4b26-b639-0eaf0e565703" alt=""><figcaption></figcaption></figure>

Теперь можно подключаться к конфигуратору и проводить настройку ESC регулятора, как это [описано в инструкции по настройке](https://docs.veles-lab.ru/kontrollery-motorov/nastroika-esc-na-am32) в конфигураторе АМ32.
