简体   繁体   中英

How to update with custom stm32 board with my owm software

I'am working with nucleo board since a while. Now I'd like to create my own board build with an stm32, but I'd like my clients to be able to update it's own board. So let me explain my idea, first of all I create a software for my client (c++) this software will just update the board with a small GUI very simple. My idea is to provide at my clients from a website this software with a new binary file for the board.

So my question is, is it possible to update stm32, I've never done that... I'd like to use my program, where my client choose new binary and clik on a button update, the board will be plug in usb.

After some researches I found DFU coming from ST to update firmware is it what I have to use? Can I update my board just with USB without st-link, maybe should I use uart?

If I'm not mistaken, STM32 parts with USB hardware have system bootloader supporting DFU mode, except the very old models like STM32F103.

Please see AN2606 from ST and inspect the flow charts related with your STM32 device. For STM32F4 series, HSE needs to be present for USB bootloader (not sure if they are all same). Some series like STM32F04 don't need it.

AFAIK, all STM32 models have system bootloader supporting USART. So in worst case, your clients can update firmware using USB-USART converters.

ST provides some example utility programs for firmware update using DFU or USART. USB DFU is a standard protocol. It's also possible to find third-party utility programs. You don't need to write your own.

Clients may need to push a button or replace a jumper to enter the bootloader mode. I'm not sure if it's possible to activate bootloader without such an action.

Of course, you need to be aware that system bootloader provided by ST has no security or encryption functionality. So, when you give .hex file to your clients, they can use it to make more copies of your product.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM