прошивка микроконтроллеров

Прошивка по UART (4 линии VCC, Ground, Tx, Rx) и прошивка по USB однозначно требует зашитого загрузчика.

На заводе микросхемы шьют через JTag (или SWD)

Когда еще никакого загрузчика нет (контроллер девственно чистый) после изготовления платы шьют по JTag (Joint Test Action Group) или , что почти тоже самое по SWD ( Serial Wire Debug).

JTAG - Joint Test Action Group (специализированный аппаратный интерфейс на базе стандарта IEEE 1149.1).

линии JTAG:

TDI (test data input — «вход тестовых данных») — вход последовательных данных периферийного сканирования. Команды и данные вводятся в микросхему с этого вывода по переднему фронту сигнала TCK.

TDO (test data output — «выход тестовых данных») — выход последовательных данных. Команды и данные выводятся из микросхемы с этого вывода по заднему фронту сигнала TCK.

TCK (test clock — «тестовое тактирование») — тактирует работу встроенного автомата управления периферийным сканированием. Максимальная частота сканирования периферийных ячеек зависит от используемой аппаратной части и на данный момент ограничена 25…40 МГц[источник не указан 2305 дней].

TMS (test mode select — «выбор режима тестирования») — обеспечивает переход схемы в/из режима тестирования и переключение между разными режимами тестирования.

В некоторых случаях к перечисленным сигналам добавляется сигнал TRST для инициализации порта тестирования, что необязательно, так как инициализация возможна путём подачи определённой последовательности сигналов на вход TMS.

JTAG позволяет прошивать не одно , а несколько устройств расположенных на одной плате.
Если на плате установлено несколько устройств, поддерживающих JTAG, они могут быть объединены в общую цепочку.

Уникальной особенностью JTAG является возможность программирования не только самого микроконтроллера (или ПЛИС), но и подключённой к его выводам микросхемы флэш-памяти.
Причём существует два способа программирования флэш-памяти с использованием JTAG: через загрузчик с последующим обменом данными через память процессора, либо через прямое управление выводами микросхемы.

DFU - Device Firmware upgrade