2019-06-27 04:05 AM
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
2019-06-27 04:25 AM
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.