Skip to main content
SSoni
Associate III
June 27, 2019
Question

How can I upgrade the firmware on STM32 F446RE by using UART pins from Linux?

  • June 27, 2019
  • 1 reply
  • 902 views

I tried upgrading the firmware on the STM32 F446RE board by accessing the usb-dfu. I used DFU-UTIL library for it. But as it turns out, we won't be able to upgrade the firmware using usb-dfu if the code already present on the board has UART or SPI or I2C code already running. How can I solve this problem?

I found one solution that we can upgrade firmware through UART bootloader but the software that was used was just for windows. I want something for upgrading firmware through linux, something like the dfu-util library.

Please help

Cheers,

Siddharth

This topic has been closed for replies.

1 reply

Tesla DeLorean
Guru
June 27, 2019

There are open source examples for the UART based loader, and the protocol itself is not unduly complex.

You might however want to build your own loader, and provide a more user friendly process. Here we use X-Modem, and protocol supported by every terminal application of merit. It provides for a level of integrity check and flow control/pacing which works well for firmware updates.

Use of your own loader would also permit you to secure your firmware.​

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..