Разбор процесса вывода Hello World на микроконтроллерах STM32, сравнение методов отладки и обзор необходимых инструментов.
Hello World для STM32
На RP2040 для Hello World достаточно
printf() и пары настроек в CMake. Со STM32 ситуация другая — действий от программиста заметно больше. Уже на старте появляются CMSIS, LL и HAL, дерево тактирования, CubeMX, программатор, аппаратный отладчик и вопрос, куда вообще выводить строку.
Самый привычный вариант — UART, но им дело не ограничивается: есть semihosting, SWO и SEGGER RTT. И тут начинается практика, которая не всегда совпадает с красивой таблицей поддержки. У автора semihosting упорно не работал через J-Link Server, а SWO в CLion заработал только после обновления ПО J-Link.
Так простой Hello World превращается в хороший способ разобраться, что происходит между вызовом
printf() и появлением символов в терминале. Заодно становится понятнее, зачем в этой цепочке нужны интерфейсы, отладчики, серверы отладки и среда разработки —
и почему один и тот же проект с разными связками инструментов может вести себя по-разному.
Кратко (AI)
Автор сравнивает процесс реализации Hello World на RP2040 и STM32, отмечая значительно большую сложность последнего. Рассматриваются различные методы вывода данных, такие как UART, semihosting, SWO и SEGGER RTT, а также проблемы совместимости инструментов при настройке среды разработки.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖