Skip to main content
SBaro.11
Associate III
July 11, 2021
Solved

Update code remotely

  • July 11, 2021
  • 3 replies
  • 1145 views

Hi all,

I’am working with some nucleo board si ce a while. Now I’am planning to build my first personal board. And my final objective is to be able to update my code in my board remotely. Is it possible ? I have read some article update firmware remotely is it the way I have to follow?

This topic has been closed for replies.
Best answer by Tesla DeLorean

Not sure that's what "remotely" usually means. Typical it means you touch it from the office.

Doing field or user updates tends to be simpler in implementation, but means someone has to put hands on the device.

The equivalent to SAMBA is the DFU / DfuSe or Serial methods implemented on the ROM (BOOT0=HIGH), currently supported by USB / UART modes in STM32 Cube Programmer. There are several implementations of the UART programming, and the protocol is documented.

3 replies

Uwe Bonnes
Chief
July 11, 2021

You must specify what you mean by remote. If you mean e.g. a serial line, all STM32 have a serial bootloader and if you provide a way to switch from your application to bootloader, you can use that. Other remote way may need your own bootloader.

Tesla DeLorean
Guru
July 11, 2021

>>Is it possible?

Many things are possible.

Is this using a cellular connection, or how it is interacting remotely?

Do you have space to store the new firmware image on the board, or enough space to split the loader and application within the internal flash?

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
SBaro.11
SBaro.11Author
Associate III
July 11, 2021

Yes sorry I'll give you more informations. My idea is to build personnal board with an STM32, actually I used samd21 and I want to migrate on STM32. So my objective is : I'd like my clients to be able to update board with new program.

My idea is to create a specific program (in C++/Qt) for update my board. So my clients will download this program from a website, after that they will download also a new binary for the board. Client will run the programm and choose new binary and the program will update the board via usb.

Maybe later I'll use wifi connection, but not for the moment.

Tesla DeLorean
Tesla DeLoreanBest answer
Guru
July 12, 2021

Not sure that's what "remotely" usually means. Typical it means you touch it from the office.

Doing field or user updates tends to be simpler in implementation, but means someone has to put hands on the device.

The equivalent to SAMBA is the DFU / DfuSe or Serial methods implemented on the ROM (BOOT0=HIGH), currently supported by USB / UART modes in STM32 Cube Programmer. There are several implementations of the UART programming, and the protocol is documented.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
SBaro.11
SBaro.11Author
Associate III
July 12, 2021

Thanks for your answer @Community member​  I'll check for DFU. Sorry for my mistake about "remotely" word but yeah, I want my client plug in USB my board on his computer, run software and update the board, so I'll check for DFU and USB/UART :grinning_face: