Boot modes: flash/ROM (system memory)/RAM Bootloader or not/purpose/various programming methods

  • UART
  • ST-LINK
  • DFU Arduino boot loader: dual device issue (serial ACM vs DFU)
  • reset -> loader (3s) -> user app
  • when ACM app detects DTR toggle, reset USB bus (or reset MCU???) and switch back to DFU loader
  • rogerclarke
  • support recently integrated in official STM32duino Bare boot loader: DFU only, by default one shot at reset, no support for switching back through DTR (no ACM!) Requires a sketch which implements the ACM dev (SerialUSB) For some reason the distributed combined loader+sketch does not work. Perpetual loader mode (stay in DFU) Once first sketch is programmed, it contains ACM support for loading the next one… If the correct programming mode is selected while building the sketch!

Alternative: HID bootloader (not thoroughly investigated)

Reliability issue (host sometimes unable to open ACM)

ST-LINK is superior (no 3s delay at boot time, reliable programming)