Первоначальные соображения : что нам вообще надо по минимуму
1. на отладчик на самом деле можно наплевать первоначально (баловство это)
2. трассировка(логгирование) нам нужна (обязательно - SWO JLink )
3. знание языка С (хотя бы начальное)
Остается всего ничего : скомпилировать кучку *.с файлов и зашить в мк.
Трассировку смотреть в J-Link SWO viewer (а он бесплатный).
Откуда мы берем кучки файлов *.c (*.h,*.s) ?
Ну самый популярный вариант я думаю STM32CubeMX под STM32 контроллер.
Там есть сборки под разные среды MDK (Keil), CubeIDE,AtollicStudio,SW4STM32, EWARM (IAR Embedded Workbench) и даже makefile.
Keil, IAR платные .
В Keil при использовании Ethernet и lwip (бесплатная) упираемся сразу при линковке в : The code size of this image (37052 bytes) exceeds the maximum allowed for this version of the linker (смысл покупай лицензию 2000-4000E).
CubeIDE, AtollicStudio, SW4STM32 - это Эклипс
А что же такое makefile?
А это историческая основа программирования, когда работали только в текстовом редакторе, компили из командной строки.
Makefile - это настройщик сборки файлов языка С и не только..
Кстати программисты драйверов Windows и саму ОС Windows до сих пор создают именно этим способом. Забавно не правда ли?
Для запуска makefile надо выполнить программу make.exe. А где же она хранится ?
Для Windows прогу make надо скачать отдельно, мне попалась тут
http://www.equation.com/servlet/equation.cmd?fa=make
А где компилятор наш находится ?
Возвращаемся к makefile:
В нем и указывается компилятор
CC = $(GCC_PATH)/$(PREFIX)gcc
. То есть с префиксом это получится файл arm-none-eabi-gcc (и этот компилятор наверняка бесплатный). А где его взять?
Поиски приводят к GNU ARM Embedded Toolchain (это бесплатно). А что это такое?
Это ответ на вопрос - где лежит халява! Точнее ребята с https://developer.arm.com делают этот toolchain бесплатно для вас и для меня.
Устанавливаем на Windows 10.

launch gccvar.bat - запустится окно с командной строкой с предустановленными путями к компилятору и т.д. Это важно!
Так в дальнейшем и надо сначала запускать этот батник.
А что это такое toolchain?
А это набор компилятор,сборщик и еще что-то для создания программ под разные железки и разные ОС. По сути это основа программирования (База инструментов).
И наконец чтобы все собралось кинем make к нашему проекту и там из командной строки запустим.
Как ни удивительно все прошло довольно быстро и в результате получили файл с прошивкой!
Примечание : Keil например использует свой toolchain , набор инструметов можно посмотреть здесь :
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Выводы :
Ура мир не без добрых людей! Можно программировать совершенно бесплатно и пользоваться разными бесплатными библиотеками типа lwip, freertos,..
Главное понимать поглубже , что надо для компиляции, сборки и т.д.
Кстати приятная новость - опять порадовали шведы: Atollic True Studio взлетела и отладка для STM32 пошла через JLink за пять секунд. Ну что ж теперь поработаем?
А то готовьте несколько тысяч баксов - да где у обычного чела в России такие лишние деньги?
Я для прикола жене предложил мне подарить на 50 лет IDE Keil, посмотрел в ее глаза - и все понял...