← index #5548PR #12808
Off-topic · high · value 4.316
QUERY · ISSUE

STM32: Not able to build mboot without USB and user switch

openby marc-baopened 2020-01-18updated 2020-01-20
port-stm32

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?

CANDIDATE · PULL REQUEST

stm32/mboot: add support for MS WCID USB descriptors

mergedby dpgeorgeopened 2023-10-26updated 2023-12-20
port-stm32

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

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied