Loading Firmware – DEV010B STM32F091 – loading a hex file using ST bootloader

This page primarily supports our DEV010B board. But this equally applies to loading firmware on any STM32 device, refer to your device documentation for entering bootloader mode on RESET.

We issue hex files for the ST STM32 microcontrollers.

These hex files can be loaded on your board either through a JTAG interface or through a serial interface using the ST Bootloader.

This page uses the ST Bootloader. At the time of writing the URL was ..
https://www.st.com/en/development-tools/flasher-stm32.html
Also you can search for ..

  • Flasher-STM32
  • UM0462
  • STM32 Flash loader demonstrator

The picture below shows our typical arrangement for loading a hex file ..

Typical STM32F091 DEV010B Programming Setup

Typical STM32F091 DEV010B Programming Setup

On the Left is a USB – Serial interface – this interface provides power to the DEV010B board, and the serial is used for the application communications (in the application pictured it is for MODBUS)

In the middle is the DEV010B oLED display board with a STM32F091 on board

On the right is our programming adaptor, it has a USB – Serial interface, a switch configured for the BOOT pin (marked orange), and a switch configured for RESET (marked red).

For the STM32F091, BOOT is set HIGH, RESET is pulled LOW by the switches.

You may not have our programming adaptor, but in principle you will need the same, a serial port, and connections for the BOOT and RESET pins on the device. See our other notes re building up programming adaptors.

To enter bootloader mode in the STM32F091, press and hold RESET (ie RESET is driven LOW), then press and hold BOOT (ie BOOT is driven HIGH), then release RESET, then release BOOT.

For further information, see the ST documentation for your device regarding the entry to bootloader mode.

On the DEV010B, the display is now blank.

Start the ST Flash Loader Demonstrator program (download from ST). At the time of writing we are using V2.8.

Setup for the serial port on the first screen, use device manager if unsure of the serial port name (unplug and plug in the USB-serial device if necessary)

ST Flash Loader Screen 1

ST Flash Loader Screen 1

The next screen indicates if the target device was found by the Flash Loader

The next screen allows you to select / confirm the target device, for the DEV010B this is a STM32F091

ST Flash Loader Screen 3

ST Flash Loader Screen 3

The next screen sets up the operation, in this case, Download to device, with Global Erase. Set the Download from file to the hex file supplied.

ST Flash Loader Screen 4

ST Flash Loader Screen 4

The Flash Loader will then download the hex to the device, and verify, and when notify you when finished

ST Flash Loader Screen 5

ST Flash Loader Screen 5

Reset the DEV010B board to run the loaded firmware.