General information about FDU?
Hello,
Our goal is to implement field firmware updates in our application and would like to gain a general understanding of how it works at ST.
From reading the Application note: STM32 microcontroller system memory boot mode, my understanding is that on the device side, once you plug in your USB connection to the PC, while running your application from flash you could jump to the ROM bootloader by writing to boot pins (in the pattern specified by the micro).
At this point the bootloader is now running, and the bootloader can tell that the USB peripheral needs to be initialized specifically and the bootloader initializes it. Is this done automatically?
On the PC side, (if you have the correct drivers installed, UM0412) the DfuSe GUI will pop-up. This is where you would upload the DFU file (updated firmware) and download it to the device's flash. A system reset on the device side will then start running the newly updated firmware out of flash.
Is this, broadly, what the process looks like (obviously at a super high level)?
Is the USB peripheral the only bootmode that supports DFU? Or in other words, is it not possible to perform a device firmware upgrade over other serial buses (CAN, UART, etc.)?
Thank you for any clarification provided.
Best,
Emma
