STM32CubeProgrammer: прошивка STM32 через ST-LINK и загрузчик
STM32CubeProgrammer — бесплатная программа ST для записи, чтения и стирания памяти микроконтроллеров STM32. Она работает через отладчик ST-LINK по SWD или JTAG и через встроенный загрузчик по UART, USB DFU, I²C, SPI и CAN, умеет менять байты конфигурации и снимать защиту от чтения. Разбираем режимы подключения, запись файлов HEX, BIN и ELF, готовые команды STM32_Programmer_CLI, обновление ST-LINK и типичные ошибки.
Обновлено Редакция GAW
STM32CubeProgrammer (STM32CubeProg) — бесплатная программа STMicroelectronics для записи, чтения, проверки и стирания памяти микроконтроллеров и микропроцессоров STM32: внутренней флеш-памяти, ОЗУ, OTP и внешней флеш-памяти, а также байтов конфигурации (option bytes). Она поставляется в двух вариантах — с графическим интерфейсом и консольный STM32_Programmer_CLI для скриптов. Текущая версия — 2.23.0, заметки о выпуске RN0109 Rev 34 (июнь 2026); ссылка на руководство UM2237 на сайте ST теперь ведёт на онлайн-документацию к версии 2.23.0.
STM32CubeProgrammer пришла на смену трём старым программам ST — STM32 ST-LINK Utility, DfuSe и Flash Loader Demonstrator; их выпуск прекращён. Программа бесплатна, но исходный код ST не открывает. Через неё же прошивает флеш-память STM32CubeIDE: ST-LINK GDB server вызывает STM32_Programmer_CLI в режиме подключения под сбросом.
Коротко
- Версия 2.23.0, лицензия ST SLA0048, Java ставить не нужно: с версии 2.6.0 среда выполнения входит в пакет.
- ОС: Windows 10 (32 и 64 бита) и 11, Ubuntu 22.04 и 24.04, Fedora 43, macOS 15 и 26 (Intel и Apple Silicon), Raspberry Pi OS на 64-битных платах.
- Отладочный интерфейс: ST-LINK по SWD или JTAG, SEGGER J-Link только по SWD и только для флеш-памяти и option bytes.
- Загрузчик: UART, USB DFU, I²C, SPI, CAN — какие из них есть у конкретного STM32, сказано в AN2606.
- Файлы: BIN, Intel HEX, ELF (.elf, .axf, .out), Motorola S-record; для BIN адрес задаётся вручную.
- Подключение под сбросом (mode=UR) спасает, когда прошивка отключила выводы SWD; нужен провод NRST.
- Снятие защиты RDP с уровня 1 на 0 стирает флеш-память — это делает сам микроконтроллер.
Установка и требования
Пакет скачивается со страницы STM32CubeProg на st.com: отдельные архивы для 32- и 64-битной Windows, macOS на Apple Silicon и Intel, Linux x86-64 и Linux Arm. Внутри — установщик SetupSTM32CubeProgrammer-x.y.z (.exe, .linux или .app); консольную версию для 64-битного Linux на Arm можно поставить и Debian-пакетом.
| Параметр | Требование (RN0109 Rev 34, документация 2.23.0) |
|---|---|
| Windows | 10 — 32 и 64 бита; 11 — 64 бита |
| Linux | Ubuntu LTS 22.04 и 24.04, Fedora 43; libusb 1.0.12 или новее |
| macOS | 15 Sequoia и 26 Tahoe, процессоры x86-64 и Apple Silicon |
| Raspberry Pi | Raspberry Pi OS на Debian 12 или новее, только 64-битные платы |
| Java | не нужна с версии 2.6.0 (встроена BellSoft Liberica) |
| Экран | не меньше 1024 × 768 |
Драйверы. В Windows драйвер ST-LINK ставится файлом stlink_winusb_install.bat из папки Driver/stsw-link009_v3 пакета. По техническому примечанию TN1235 для ST-LINK/V2 и V2-1 в Windows 10 и 11 он обязателен, для STLINK-V3 — нет; если подключить ST-LINK/V2 до установки драйвера, часть его интерфейсов система покажет как неизвестные устройства. Для USB DFU нужен свой драйвер — файл STM32 Bootloader.bat; если в системе стоит драйвер старой программы DfuSe, его сначала удаляют и перезагружают компьютер.
В Linux нужен пакет libusb (sudo apt-get install libusb-1.0.0-dev в Ubuntu, sudo dnf install libusb1 в Fedora), а чтобы ST-LINK, J-Link и устройства DFU были доступны без прав администратора — правила udev из папки Driver/rules:
sudo cp *.* /etc/udev/rules.d
В macOS ST-LINK работает без драйвера.
Чем подключаться
Подключение выбирают в панели настройки цели: ST-LINK, J-Link или один из интерфейсов встроенного загрузчика. Кнопка обновления рядом показывает найденные устройства — серийные номера программаторов, COM-порты или устройства USB в режиме DFU.
| Интерфейс | Что нужно | Запуск в CLI |
|---|---|---|
| SWD, JTAG | ST-LINK: отдельный или встроенный в плату Nucleo или Discovery | -c port=SWD, -c port=JTAG |
| SWD через J-Link | SEGGER J-Link; только запись флеш-памяти и option bytes, частота 4 МГц | -c port=JLINK |
| UART | USB-UART-адаптер, микроконтроллер в режиме загрузчика | -c port=COM5 br=115200 |
| USB DFU | кабель USB, микроконтроллер с USB-загрузчиком в режиме загрузчика | -c port=usb1 |
| SPI, I²C, CAN | мост STLINK-V3 (STLINK-V3SET с платой-адаптером, STLINK-V3PWR), загрузчик с этим интерфейсом | -c port=SPI, port=I2C add=…, port=CAN |
Встроенный загрузчик находится в системной памяти STM32 и запускается, если при сбросе выводы BOOT или байты конфигурации выбирают загрузку из неё. Какие интерфейсы есть у загрузчика конкретной серии и на каких выводах, перечислено в примечании ST AN2606, а как устроены загрузчик и выводы BOOT у STM32F1 и STM32F4 — на странице «Flash и загрузчик STM32». Для UART руководство UM2237 требует чётность «even», 8 бит данных, 1 стоповый бит и выключенное управление потоком; линии RTS и DTR адаптера можно выставить в нужный уровень (rts=low, dtr=high). USB DFU по умолчанию ищет устройство с идентификаторами ST: VID 0x0483, PID 0xDF11. Для I²C адрес загрузчика обязателен и зависит от серии: в примере ST для STM32F42xxx это 0x38.
Режимы подключения ST-LINK
| Режим (CLI) | Что происходит | Когда нужен |
|---|---|---|
Normal (mode=NORMAL, по умолчанию) | микроконтроллер сбрасывается и останавливается; способ сброса задаёт Reset mode | обычная прошивка |
Connect under reset (mode=UR) | подключение с перехватом вектора сброса, до выполнения первой команды программы; сброс всегда аппаратный | прошивка отключает выводы SWD/JTAG |
Hot plug (mode=HOTPLUG) | подключение без остановки и без сброса | посмотреть или поправить ОЗУ и регистры работающей программы |
Power down (mode=POWERDOWN) | перевод в режим отладки, даже если программа ещё не запускалась после подачи питания | нужен провод сброса; на некоторых платах ST с ключом питания STMPS2141 работает не полностью |
hwRstPulse (mode=hwRstPulse) | импульс сброса, затем подключение; программа успевает стартовать | серии без подключения под сбросом, например STM32WB0x и STM32WL33 |
Reset mode выбирает, как сбрасывать микроконтроллер: программно через регистр AIRCR ядра (Software system reset, в CLI reset=SWrst, по умолчанию), выводом NRST (Hardware reset, HWrst) или сбросом только ядра Cortex-M, без периферии (Core reset, Crst; у Cortex-M33, M55 и M85 его нет). Аппаратный сброс и подключение под сбросом работают, только если вывод сброса ST-LINK соединён с NRST микроконтроллера: у ST-LINK/V2 это контакт 15 20-контактного разъёма, у STLINK-V3 с разъёмом STDC14 — контакт 12, у встроенного ST-LINK плат Nucleo — контакт 5 разъёма SWD. Расположение контактов — на странице «Распиновка JTAG и SWD».
В той же панели видны напряжение питания цели, измеренное программатором, и версия прошивки ST-LINK. Режим Shared разрешает нескольким программам — например, STM32CubeProgrammer и отладчику среды — одновременно работать с одним ST-LINK; по документации ST этот режим поддерживается только в Windows. Если ST-LINK подключено несколько, нужный выбирают по серийному номеру (sn=…).
Частота. ST-LINK поддерживает только фиксированный ряд частот, и введённое значение округляется до ближайшего большего из ряда (UM2237):
| Программатор | SWD, кГц | JTAG, кГц | По умолчанию в STM32CubeProgrammer |
|---|---|---|---|
| ST-LINK/V2, V2-1 | 4000, 1800, 950, 480, 240, 125, 100, 50, 25, 15, 5 | 9000, 4500, 2250, 1125, 562, 281, 140 | SWD 4000, JTAG 9000 |
| STLINK-V3 | 24 000, 8000, 3300, 1000, 200, 50, 5 | 21 333, 16 000, 12 000, 8000, 1777, 750 | SWD 24 000, JTAG 21 333 |
Это умолчания самой программы: в руководстве UM1075 у ST-LINK/V2 собственные значения по умолчанию — SWD 1,8 МГц и JTAG 1,125 МГц. При проблемах с монтажом — длинных проводах, макетной плате — частоту снижают ключом freq= (в килогерцах). JTAG есть не у всех ST-LINK, встроенных в платы Nucleo и Discovery, а выбор частоты JTAG работает с прошивкой ST-LINK V2J23 и новее.
Запись, проверка и стирание в графической программе
После нажатия Connect в панели появляются сведения о микроконтроллере. Дальше работают три вкладки слева.
- Memory & File editing — чтение памяти: адрес, размер, кнопка Read или Read All для всей флеш-памяти. Прочитанное сохраняется в
.bin,.hexили.srec. Здесь же открывают файл прошивки и сравнивают его с памятью. - Erasing & Programming — выбрать файл, для
.binуказать адрес, отметить нужные флажки и нажать Start Programming. Verify after programming читает записанное и сравнивает с файлом побайтно, Skip flash memory erase пропускает стирание (только если память заведомо чистая), Run after programming запускает программу. Там же стирают отдельные секторы или всю память кнопкой Full chip erase. - Option bytes — байты конфигурации, сгруппированные по назначению, с описанием каждого бита; кнопка Apply записывает изменения и проверяет их.
Адрес записи. Файлы HEX, S-record и ELF содержат адреса внутри, поэтому программа берёт их из файла. В BIN-файле адресов нет — его нужно указать самому; для программы, которая стартует из флеш-памяти STM32, это обычно 0x08000000. Чем различаются форматы и как получить из ELF файл HEX или BIN — в статье «Файлы прошивки: HEX, BIN, ELF».
Плата Nucleo или Discovery. ST советует подключать её к компьютеру разъёмом USB со стороны ST-LINK (на платах с двумя одинаковыми разъёмами второй — USB USER) и проверить, что перемычка выбора питания стоит в положении питания от ST-LINK. Затем Connect, вкладка Erasing & Programming, выбрать файл кнопкой Browse и нажать Start Programming.
Командная строка: STM32_Programmer_CLI
Консольная программа лежит в папке bin установленной STM32CubeProgrammer:
| ОС | Путь |
|---|---|
| Windows | …\STMicroelectronics\STM32Cube\STM32CubeProgrammer\bin\STM32_Programmer_CLI.exe |
| Linux | …/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI |
| macOS, Apple Silicon | STM32CubeProgrammer.app/Contents/Resources/bin/STM32_Programmer_CLI |
| macOS, Intel | STM32CubeProgrammer.app/Contents/MacOs/bin/STM32_Programmer_CLI |
Почти все действия требуют сначала подключиться ключом -c port=… с параметрами (без него работает, например, -l); ключ проверки -v ставят сразу после -w, иначе он игнорируется.
# список ST-LINK, COM-портов и устройств DFU
STM32_Programmer_CLI -l
# записать HEX через ST-LINK, проверить и сбросить микроконтроллер
STM32_Programmer_CLI -c port=SWD -w firmware.hex -v -rst
# записать BIN с адреса 0x08000000 и запустить программу с этого адреса
STM32_Programmer_CLI -c port=SWD -w firmware.bin 0x08000000 -v -s 0x08000000
# подключиться под сбросом на пониженной частоте и стереть всю флеш-память
STM32_Programmer_CLI -c port=SWD mode=UR freq=1000 -e all
# сохранить 64 КБ флеш-памяти в файл
STM32_Programmer_CLI -c port=SWD -r 0x08000000 0x10000 backup.bin
# прошивка через встроенный загрузчик: UART и USB DFU
STM32_Programmer_CLI -c port=COM5 br=115200 -w firmware.bin 0x08000000 -v
STM32_Programmer_CLI -c port=usb1 -w firmware.hex
| Ключ | Что делает |
|---|---|
-c port=SWD (JTAG, JLINK, COM5, usb1, SPI, I2C, CAN) | подключение; для ST-LINK — ещё freq=, mode=, reset=, sn=, ap=, shared |
-w файл [адрес] (-d) | запись, перед которой память стирается; адрес обязателен для BIN |
-w файл адрес incremental | записать только изменившиеся секторы; если такая прошивка уже в памяти, запись не выполняется |
-v, -v fast | проверка: побайтно или по контрольным суммам секторов; работает только сразу после -w |
-e all, -e 2 4, -e [5 10] | стереть всю флеш-память (без области EEPROM), отдельные секторы или диапазон секторов |
-r адрес размер файл (--upload) | прочитать память в двоичный файл |
-s [адрес] (--start, -g) | запустить программу с адреса |
-rst, -hardRst | программный сброс; аппаратный сброс выводом NRST |
-ob displ, -ob ИМЯ=значение | показать все option bytes или записать байт |
-rdu | снять защиту от чтения: RDP с уровня 1 на уровень 0 |
-vb 3, -log файл.log | подробный вывод (уровни 1–3); записать весь обмен в файл |
Для параллельной прошивки нескольких плат запускают несколько экземпляров программы, и каждому указывают серийный номер своего ST-LINK: -c port=SWD sn=…. При этом ST в FAQ к версии 2.23.0 подчёркивает, что STM32CubeProgrammer — инструмент разработки и по условиям лицензии не предназначен для серийного программирования на производстве.
Option bytes и защита от чтения
Байты конфигурации (option bytes) — отдельная область флеш-памяти, где хранятся настройки микроконтроллера: уровень защиты от чтения, защита секторов от записи, режим сторожевого таймера, выбор загрузки и другие. Их набор и имена у каждой серии свои, поэтому сначала стоит посмотреть, как их называет сама программа:
STM32_Programmer_CLI -c port=SWD -ob displ
Байт RDP задаёт защиту от чтения. На уровне 1 отладчик и загрузчик не могут читать флеш-память, но программа в ней работает как обычно. Снимают защиту командой -rdu или сменой RDP на вкладке Option bytes. Главное последствие задаёт сам микроконтроллер, а не программа: у STM32F1 перед снятием защиты стирается вся основная флеш-память (PM0075, разд. 2.4.1), у STM32F4 переход с уровня 1 на 0 стирает флеш-память и резервную SRAM (RM0090, разд. 3.7.3). Поэтому снятие RDP — способ вернуть заблокированный микроконтроллер к жизни, а не прочитать чужую прошивку. Если защиту меняли через отладчик, после этого нужен сброс по питанию: отключите и снова подайте питание платы (PM0075, RM0090); при снятии через загрузчик у STM32F1 достаточно системного сброса. У STM32F1 уровней нет: защита либо включена, либо снята, а уровня 2 у этой серии не существует (PM0075). Для других серий порядок описан в их reference manual.
У новых серий STM32 есть и другие механизмы: снятие защиты по паролю (RDP regression with password) и аутентификация отладки (Debug Authentication). STM32CubeProgrammer работает с ними на отдельных вкладках; по списку известных ограничений версии 2.23.0, снятие RDP по паролю и возврат к заводским настройкам поддерживаются только через ST-LINK.
ST-LINK: модели, драйвер и прошивка
Драйвер из пакета STM32CubeProgrammer рассчитан на ST-LINK/V2, ST-LINK/V2-1 (его встраивают в платы ST), STLINK-V3 и STLINK-V3PWR. Различия, которые видны при работе с программой:
| ST-LINK/V2 | STLINK-V3 | |
|---|---|---|
| SWD / JTAG в STM32CubeProgrammer | до 4000 / 9000 кГц | до 24 000 / 21 333 кГц |
| Напряжение цели (SWD/JTAG) | 1,65–3,6 В, выходы уровня 3,3 В | V3MINIE — 1,65–3,6 В; V3SET — 3–3,6 В, с адаптером B-STLINK-VOLT от 1,65 В |
| Загрузчик по SPI, I²C, CAN | нет | мост у STLINK-V3SET (через плату-адаптер) и STLINK-V3PWR |
| Драйвер в Windows 10 и 11 | обязателен | не обязателен |
Подробное сравнение с J-Link, CMSIS-DAP и программаторами для других семейств — в статье «Программаторы и отладчики».
Обновление прошивки ST-LINK. Версия прошивки показана в панели настроек ST-LINK, рядом — кнопка обновления. Есть и отдельная программа STLinkUpgrade из пакета STSW-LINK007 (вариант .exe для Windows и .jar для Windows, Linux и macOS); она сама определяет модель и подбирает прошивку. Прерывать обновление нельзя: по TN1235 сбой на этом этапе может сделать программатор трудно восстановимым или вовсе неработоспособным. Некоторые функции требуют свежей прошивки: например, для поиска нескольких микроконтроллеров на одной шине SWD (команда -getTargetSelList) старая прошивка выдаёт сообщение «Too Old Firmware, please upgrade your STLINK!».
Светодиод COM на ST-LINK подсказывает, где сбой (UM1075, TN1235): мигает красным и затем горит оранжевым — компьютер не смог определить USB-устройство (проверить кабель и разъём); горит оранжевым — последний обмен с микроконтроллером не удался; зелёный — последний обмен прошёл успешно.
Частые ошибки
В руководстве ST расшифровано только сообщение команды -getTargetSelList: «No STM32 Target Found!» — ни одной платы не найдено. Остальные сообщения о неудачном подключении ST не описывает, поэтому ниже — проверки, которые следуют из документации на программу и программатор.
| Симптом | Что проверить |
|---|---|
| ST-LINK нет в списке | кабель и разъём USB (светодиод COM мигает красным, потом оранжевый); драйвер STSW-LINK009 для ST-LINK/V2 в Windows; правила udev и libusb в Linux; не занят ли ST-LINK другой программой — тогда режим Shared (только в Windows) |
| «No STM32 target found», «Can not connect to target» | питание платы — напряжение цели видно в панели ST-LINK; провода SWDIO, SWCLK и GND; вывод 1 (VAPP) ST-LINK/V2 соединён с питанием платы; частота ниже (freq=1000 или меньше); режим Connect under reset с проводом NRST |
| Подключалось, но после прошивки перестало | программа отключает выводы SWD или засыпает — подключение под сбросом или запуск с BOOT0 = 1; разбор в ответе «ST-LINK перестал видеть STM32 после прошивки» |
| Подключение есть, но чтение и запись флеш-памяти не проходят | включена защита от чтения RDP — посмотреть -ob displ, снять -rdu (флеш-память сотрётся) |
| В DFU устройство не видно | микроконтроллер не в режиме загрузчика (BOOT0); у серии нет USB-загрузчика (AN2606); стоит старый драйвер DfuSe вместо драйвера STM32CubeProgrammer |
| UART-загрузчик не отвечает | режим загрузчика, перекрёстное соединение TX и RX, интерфейс и выводы загрузчика по AN2606, меньшая скорость br= |
Если причина не видна, добавьте к команде -vb 3 или -log trace.log — программа запишет весь обмен с программатором, и по нему видно, на каком шаге он оборвался. Список исправленных и известных ошибок каждой версии ST ведёт на своей вики (нужна учётная запись).
Как подключить ST-LINK к плате, показано на странице «Распиновка JTAG и SWD», а сравнение STM32CubeProgrammer с другими утилитами прошивки — в обзоре «Программы для электронщика».
Частые вопросы
Как прошить STM32 через ST-LINK из командной строки?
Командой STM32_Programmer_CLI -c port=SWD -w firmware.hex -v -rst: подключиться по SWD, записать файл, проверить запись и сбросить микроконтроллер. Для файла .bin после имени нужно указать адрес, обычно 0x08000000 — начало флеш-памяти STM32. Ключ -v работает, только если стоит сразу после -w.
Что такое Connect under reset в STM32CubeProgrammer?
Режим подключения, при котором программатор подключается к ядру, пока микроконтроллер удерживается в сбросе, и ловит вектор сброса до выполнения первой команды программы. Он нужен, например, когда прошивка отключает выводы SWD или JTAG. Для него вывод NRST микроконтроллера соединяют с выводом сброса ST-LINK: у ST-LINK/V2 это контакт 15 20-контактного разъёма, у STLINK-V3 с разъёмом STDC14 — контакт 12, у встроенного ST-LINK плат Nucleo — контакт 5 разъёма SWD. В командной строке — mode=UR.
Как снять защиту от чтения STM32 в STM32CubeProgrammer?
Командой STM32_Programmer_CLI -c port=SWD -rdu: она переводит RDP с уровня 1 на уровень 0. В графической программе то же делают на вкладке Option bytes, сменив значение RDP и нажав Apply. Микроконтроллер при этом стирает флеш-память, поэтому прошивку так не прочитать; после снятия защиты через отладчик нужен сброс по питанию. Уровень 2 у STM32F4 необратим — его не снять ничем; у STM32F1 уровня 2 нет.
Нужен ли ST-LINK, чтобы прошить STM32 в STM32CubeProgrammer?
Нет. ST-LINK нужен для SWD и JTAG, а через встроенный загрузчик STM32 прошивается по UART через USB-UART-адаптер или по USB DFU, если загрузчик конкретного микроконтроллера поддерживает USB. Для этого микроконтроллер запускают в режиме загрузчика выводом BOOT0. Для загрузчика по SPI, I²C и CAN нужен мост STLINK-V3.
Как обновить прошивку ST-LINK?
В STM32CubeProgrammer — кнопкой обновления рядом с версией прошивки в панели настроек ST-LINK, либо отдельной программой STLinkUpgrade из пакета STSW-LINK007: она сама определяет модель программатора. Обновление нельзя прерывать — ST предупреждает, что программатор может стать неработоспособным.
Источники
- STMicroelectronics. RN0109 Rev 34. STM32CubeProgrammer release v2.23.0, июнь 2026 — поддерживаемые ОС и архитектуры, JRE в составе пакета с версии 2.6.0, лицензия SLA0048, новое в версии 2.23.0, поддержка STLINK-V3PWR
- STMicroelectronics. STM32CubeProgrammer 2.23.0 documentation (онлайн-версия руководства UM2237) — системные требования, установка и драйверы, настройки ST-LINK и режимы подключения, команды -c, -e, -w, -v, -r, -ob, -rdu, -vb, -log, путь к STM32_Programmer_CLI, FAQ, известные ограничения
- STMicroelectronics. UM2237 Rev 29. STM32CubeProgrammer software description, ноябрь 2025 — панели GUI, настройки UART, SPI, I2C и CAN, частоты SWD и JTAG для ST-LINK/V2 и STLINK-V3, команды CLI с примерами, сообщения команды -getTargetSelList
- STMicroelectronics. STM32CubeProg — страница продукта — версии GUI и CLI, интерфейсы, форматы файлов, текущая версия 2.23.0 и пакеты для разных ОС
- STMicroelectronics. UM1075 Rev 10 (апрель 2024), UM2448 Rev 9 (апрель 2025), TN1235 Rev 7 (январь 2025) — ST-LINK/V2 и STLINK-V3: интерфейсы и частоты, разъём и выводы VAPP и NRST, светодиод COM, обновление прошивки STLinkUpgrade (STSW-LINK007), драйверы Windows, Linux и macOS
- STMicroelectronics. PM0075 Rev 2 (август 2012) и RM0090 Rev 21 (июнь 2024) — PM0075 разд. 2.4.1 — снятие защиты STM32F1 стирает основную флеш-память; RM0090 разд. 3.7.3 — уровни RDP STM32F4, переход 1 → 0 со стиранием, необратимый уровень 2
- STMicroelectronics. UM2609 Rev 18. STM32CubeIDE user guide, июнь 2026 — ST-LINK GDB server прошивает флеш-память через STM32_Programmer_CLI с mode=UR reset=hwRst
Нашли ошибку?
Смотрите также
- Flash и загрузчик STM32Страницы и секторы, BOOT0, системный загрузчик, AN3155, IAP, option bytes, RDP
- Файлы прошивки: HEX, BIN, ELFELF, Intel HEX, S-record, BIN и UF2: адреса, секции, objcopy, size
- Байты конфигурации (option bytes)Настройки защиты и режимов STM32 во флеш-памяти
- Защита от чтения (RDP)Запрет чтения прошивки STM32 отладчиком и загрузчиком
- Почему ST-LINK перестал подключаться к STM32 после прошивки?Программа заняла SWD или ушла в сон — подключаться под сбросом
- Программаторы и отладчикиUSBasp, ST-LINK, J-Link, PICkit 5, Snap, CMSIS-DAP, WCH-LinkE: сравнение
- STM32CubeIDEСреда ST для STM32: проект, сборка, отладка ST-LINK, SWV и ошибки
- JTAG и SWDARM JTAG 20, Cortex Debug 10, STDC14, ST-LINK