Question
Programming a brand-new STM32 chip via USB & integrating DFU into C# software
Hi everyone, I’m working on a project involving STM32L476 chip, and I’d appreciate your guidance on a few key points:
- Out-of-box USB flashing
I'll soon have a brand-new STM32 chip that hasn’t been flashed yet, is it possible to use STM32CubeProgrammer to load firmware via USB directly — without using ST-Link or other hardware programmers? Does the internal bootloader support DFU mode by default? - Software-only firmware flashing
One of our goals is to allow our in-house C# application to flash firmware over USB, without requiring any manual hardware intervention like pulling the BOOT0 pin. Is it feasible to force DFU mode or update firmware entirely via software once the chip is already running a custom firmware? Are there recommended DLLs or APIs that support this in C#? - Recommended libraries/tools
If software-based flashing is possible, are there any ST-provided or third-party libraries (.DLLs, wrappers, or tools) that are well-suited for integrating STM32 USB flashing with a C# application - DFU reliability and limitations
Are there any known challenges or quirks with relying solely on DFU for firmware updates in production (e.g., USB enumeration issues, compatibility across STM32 families, bootloader bugs)? Any best practices to ensure robustness?
Thanks in advance for any insights or recommendations!
