Мы живём в удивительное время, когда большая часть покупаемых 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.
Далее собираем и компилируем проект командой Build Project в меню Project. Готовый HEX файл ищем в подпапке Debug вашего проекта. Сохраняем полный путь до этого файла.
Теперь загружаем этот .hex через приложение STM32CubeProgrammer. Сделать это можно с помощью подробной инструкции: Прошивка STM32
А в каких случаях собирать и компилировать в bin файл?
самый крайний вариант (бесплатный и полный) MX Cube Ide
можно как BIN, так и HEX использовать
Как приучить CubeIDE к GD32, без внешних программ?
Я пользуюсь утилитой ST-LINK_CLI.exe, и самопальной программой управления, само по себе удобно, но после компиляции в IDE надо несколько лишних кликов мыши, раздражает…
А какая версия STM32CubeProgrammer работает с клонами? У вас вот какая?
2.12.0