STM32: Not able to build mboot without USB and user switch
I'm trying to do a board without a USB or switch, using the STM32F411. I want to use MBOOT to update the FW only when it is called from within an application so have no need for a USB or switch. It will use an external SPI flash chip. I've got this working on the basic pyboard.
I've declared the below - yet MBOOT gives multiple errors when calling sudo make BOARD=NAME__ USE_MBOOT=1 clean all
#define MICROPY_HW_HAS_SWITCH (0)
#define MICROPY_HW_ENABLE_USB (0)
#define MICROPY_HW_USB_FS (0)
Is there a way to use MBOOT without a USB or switch?
stm32/mboot: add support for MS WCID USB descriptors
This adds support to stm32's mboot for the MS WCID USB 0xee string and Compatible ID Feature Descriptor. This allows the device to automatically set the default USB driver, so that when the device is plugged in, Windows will assign the winusb driver to it. This means that USB DFU mode can be used without installing any drivers.
For example this page will work (allow the board to be updated over DFU) with zero install: https://devanlai.github.io/webdfu/dfu-util/
For details see:
- https://github.com/pbatard/libwdi/wiki/WCID-Devices
- https://github.com/newaetech/naeusb/blob/main/wcid.md