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