cancel
Showing results for 
Search instead for 
Did you mean: 

Is DFU the recommended method for Manufacturing and Field updated to load FW into the SMT32G071?

MStev.7
Associate II

If so, I seem to be missing how to set boot0 (I think) to have STM32CubeProgrammer v2.11.0 recognize the part on the dev board, “No STM32 device in DFU mode connected�? although I can use CubeIDE to program the development board. Just looking for a solution to program and update the code in the part without using CubeIDE. We want to use the USB interface just like when using the CubeIDE, the STM32G071 will be on a PCBA that will be connected to a system via USB for updates.

14 REPLIES 14

Which board are we talking about?

The NUCLEO-G071's USB connection goes to the ST-LINK/V2-1 MCU, not the STM32G071

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

Sorry if this is bad information... I have the Nucleo dev baord part number Nucleo-G071Rb that contains the STM32G071. I am trying to get this setup to be able to update the FW on the dev board like we will once the STM32G071 is on our PCBA in production.

MM..1
Chief II
On-board ST-LINK debugger/programmer with USB re-enumeration
capability: mass storage, Virtual COM port and debug port

You on Nucleo dont have USB for DFU. IDE programming works over SWD STLINK.

AN2606 define external prog ways read G07x ...

MStev.7
Associate II

The NUCLEO-G071 contains a STM32F103CBT6 at location U2, this is then connected to the MCU STM32G071. When I mount the Dev board I can simply drag an image (.hex) file onto the mounted device and the image is copied over and the code in the STM32G071 is updated and the device is rebooted. This implies to me that the STM32F103CBT6 supports DFU, however when I look at AN2606 DFU is not listed as a supported method for STM32F103CBT6. In my design I would like to basically reproduce what I can do with the dev kit NUCLEO-G071 for updating the code on the STM32G071. So to achieve this I need to have the STM32F103CBT6 connected to USB and then connected to the STM32G071 SWD link, correct?

The STM32F103 implementing the ST-LINK has SWD/JTAG connectivity to the G07x, and can act as a USB MSC (Flash Stick), to which you drop binaries, and the ST-LINK programs the G07x.

It does not use USB/DFU connectivity.

No, you'd have to provide USB connectivity directly to the G07x

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
MStev.7
Associate II

Thanks for the information! So since I would like to use this approach to program the G07X, what code needs to be on the STM32F103 to achieve the "Flash Stick" approach? Since this just works this way in the Nucleo dev kit I want to duplicate this in our design.

If the G07x doesn't support USB (part you chose, documented in AN2606), then you'd need to implement a serial port method, or provide pin header or test points on your board to facilitate SWD/JTAG type connectivity. This would also be helpful for code development and debugging.

For a UART method, perhaps a SiLabs or FTDI USB-to-CMOS Serial type chip

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

ST doesn't provide this code, or IC's programmed for ST-LINK operation. Materially similar to bootloader code on Arduino and RPi Pico type boards. Emulates USB MSC, and fake FAT file system.

What interfaces does your product present to the user?

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

Your idea is not very eco friendly, waste one MCU ... If i extremise your idea , why dont place full PC computer to board, for save your hex file ... 😎