Чтобы код из текста стал работающей программой в МК, его прогоняют через тулчейн (набор инструментов). Компилятор переводит исходник на C/C++ в ассемблер и далее в объектные файлы. Компоновщик (линкер) собирает их в единый образ и расставляет адреса по карте памяти. Получается файл прошивки (обычно .hex или .bin).
Прошивка (flashing) — запись образа во Flash-память МК через программатор: по интерфейсам ISP, JTAG, SWD или через встроенный загрузчик-бутлоадер (например, по USB/UART). После сброса процессор начинает выполнять программу с начального вектора.