Как прошить китайский клон STM32

Мы живём в удивительное время, когда большая часть покупаемых DIY-энтузиастами микроконтроллеров STM32 — являются или откровенными подделками, или более или менее качественными клонами малоизвестных китайских брендов (пока малоизвестных).

В этой статье мы рассмотрим программирование клонов в среде SMT32CubeIDE. Так как данная среда развивается под строгим надзором ST Microelectronics, в ней не получится ни прошить клон, ни использовать отладчик без специальной магии. Во время загрузки программы, среда проверит аутентичность микроконтроллера и выдаст ошибку. Что делать?

Совет

Самый простой способ прошить клон — использовать для этого стороннюю программу, которая не проводит проверку подозрительных клонов. Мы будем работать с STM32CubeProgrammer, но подойдёт и любое другое подобное приложение.

Примечание

В данном эксперименте мы прошивали два брендовых клона: APM32F103C8T6 и GD32F103C8T6.

Формирование .hex файла

Итак, предположим, мы создали программу в среде STM32CubeIDE и хотим её загрузить на микроконтроллер. Наша программа, в своём исходом виде, разумеется, совсем не годится для загрузки на МК. Сначала потребуется собрать весь проект, скомпилировать и превратить программу в бинарный файл с расширением .hex.

Для этого необходимо открыть настройки проекта в меню: Project/Properties. Затем раскрыть пункт C/C++ Build, далее Settings, открыть пункт MCU Post build outputs и отметить там Convert to Intel Hex file

Важно

После этих манипуляций, обязательно нажать внизу кнопку Apply and Close.

Настройки STM32CubeIDE — Convert to Intel Hex file

Далее собираем и компилируем проект командой Build Project в меню Project. Готовый HEX файл ищем в подпапке Debug вашего проекта. Сохраняем полный путь до этого файла.

Теперь загружаем этот .hex через приложение STM32CubeProgrammer.