Just got my Photons… I’m interested is palying around with the STM32F205…
I’ve used STM’s DfuSe (re UM0412 “Getting Started with DfuSe”) before (the hardware was a Netduino 2 which also uses the STM32F205). Can anyone tell me what the similarities/differences are between “DFU mode” on the “vanilla” STM32F205 MCU versus “Photon DFU Mode” on the MCU on the Photon?
I followed the tutorial “Installing DFU-Driver on Windows [24 Feb 2015]” and Windows thinks the device is a “Photon DFU Mode”… but I’m not able to get DfuSe (the STM tool) to recognize it. Any thoughts?
When you are using dfu-util to transfer data, you are talking to a program on the STM32Fxxx that speaks a certain protocol over USB, using USB vendor and product IDs. In the case of the Photon, that code is in the boot loader and the vendor and product id are “2b04:d006”.
I don’t know anything about DfuSe, but from the doc, it looks like you enter the vendor and product IDs into the DfuSe program GUI on the upper right (see page 13 of the Getting Started guide).
Have you tried that with your Photon is DFU mode (flashing yellow)?
Thanks for the quick reply.
In DfuSe, the Vendor and Product IDs are IDs it GETs from the device (in this case, the Photon) once it enumerates it on the USB bus (from the USB device descriptor). But re page 13, the device needs to be listed in the “Available DFU and Compatible HID Devices” pull-down (i.e., box 1) that DfuSe “discovers.” In this case, the Photon is in “Photon DFU mode”… but it’s invisible (?) to DfuSe. According to the STM32F205 datasheet, the “default/vanilla” DFU bootloader is invoked when the STM32F205 is powered-up (or reset) with the BOOT0 pin pulled high. (And I’m not 100% positive, but I think the “name” of the device (as part of USB enumeration) returned from the STM32F205 is “STM32FBOOTLOADER.”)
So, long story short, YES, I have tried using DfuSe with the Photon in DFU Mode. But (again) the DfuSe program doesn’t see it.