Regarding custom bootloader for STM32f412g-discovery board which can support USB DFU class
I have a requirement for implementing firmware upgrade feature for one of our products which is based on STM32F412ZG microcontroller. I know that ST provides a system memory bootloader which already supports firmware upgrade using USB DFU class.
But the requirement is to add additional user interactions(Blink LED, buzzer, etc) during the upgrade process, or to indicate that the device is in bootloader mode. Since I cannot change the on-chip bootloader I'm trying to develop a custom bootloader which is based on the USB DFU device application (generated from STMCubeMX). After flashing this sample project on STM32F412g-discovery and plugging the device into PC using, I get the following error in Device Manager
STM Device in DFU mode (with an exclamation mark) and under details it says, This device cannot start. (Code 10)
However if I jump to system memory bootloader, the PC is able to load the correct driver and it gets detected as STM Device in DFU mode correctly and I'm also able to successfully upgrade the firmware using DfuseDemo.exe
I have installed DfuseDemo package from ST along with the corresponding drivers provided in the same package.
I'm failing to understand why the project created using STMCubeMX is not working and I'm also not able to find an example project for UDB DFU device for STM32F412g-discovery.
Please help me in understanding what could be wrong or direct me to where I can find a working sample project.
PS: PC is running windows 10. I'm also not sure if it's completely windows 10 problem whatever I'm facing.
