cancel
Showing results for 
Search instead for 
Did you mean: 

How to support debugging and firmware upgrades on production boards

LMorr.3
Senior II

I plan on building my own board for the STM32F373 instead of using the dev board.  I have a basic schematic for the uC, but I also want to include support for debugging from CubeMX as well as a way to upgrade the production firmware for end users.  ( using a USB cable or serial cable is ok )  Do I also need to include firmware or can I just have a jumper on the board for when the firmware needs to be upgraded?

What do I need to include i my design to support this?  Is there a reference schematic/design at ST or elsewhere I can use?

 

Many thanks,

14 REPLIES 14

F373 has USB - right?

we do this, by having boot0 pullup  from usb +5v , so when usb from pc is plugged in and then power up, it goes bootloader mode and any customer can upload new software just by using Cubeprogrammer (if not to silly to download it from stm.)

customer just needs cable for ...micro-usb, or whatever usb plug you put on your board.

If you feel a post has answered your question, please click "Accept as Solution".

Forget this, show up as a mass storage. And if you plan boot0 pin read AN2606

The key pin is useless today.

The GND pins are connected by their name. I use 2 for hand wiring. Only 1 is required.

You can use a 8 pin connector. Or use the standard 14 pin connector of the STLINKV3...

 

Need a cable..
and CubeProgrammer and how to use CubeProgrammer.
LMorr.3  don't want the end-user use the STProgrammer.

I ended up adding a micro-usb A/B to the board, and I like the idea of using the USB VBUS +5 to set the boot pin high.  

Is there a good compact solution to ESD protect the micro-usb?  I want to make sure I do this correctly with the minimum number of components/space.  I'm looking at the TPD1E10B06 for VBUS and ESD321 for D+-

I plan on enabling the DFU USB Class in CubeMX and using a micro-usb A/B receptacle, hope that is correct.