cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f4 dfu

winman
Associate II
Posted on December 20, 2013 at 16:22

I'm working on a dfu bootloader for stm32 (f4) devices (

https://github.com/swinman/dfu-programmer

 stm32 branch).  I'm using the stm32f407vg and have gotten everything working except the read operation.  When I call DFU_DNLOAD with wValue 2 and length 2048 I get a pipe error.  DFU_DNLOAD works fine for the GET operation (wValue is 0) so at least I know that works..  

Does anyone know that the DFU_DNLOAD for a read operation actually works on these devices?  I've pasted the enumeration details below (which should contain the bootloader version).

Bus 002 Device 015: ID 0483:df11 SGS Thomson Microelectronics STM Device in DFU Mode

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.00

  bDeviceClass            0 (Defined at Interface level)

  bDeviceSubClass         0 

  bDeviceProtocol         0 

  bMaxPacketSize0        64

  idVendor           0x0483 SGS Thomson Microelectronics

  idProduct          0xdf11 STM Device in DFU Mode

  bcdDevice           22.00

  iManufacturer           1 STMicroelectronics

  iProduct                2 STM32  BOOTLOADER

  iSerial                 3 354B386A3133

  bNumConfigurations      1

  Configuration Descriptor:

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0 

    bmAttributes         0xc0

      Self Powered

    MaxPower              100mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           0

      bInterfaceClass       254 Application Specific Interface

      bInterfaceSubClass      1 Device Firmware Update

      bInterfaceProtocol      2 

      iInterface              4 @Internal Flash  /0x08000000/04*016Kg,01*064Kg,07*128Kg

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       1

      bNumEndpoints           0

      bInterfaceClass       254 Application Specific Interface

      bInterfaceSubClass      1 Device Firmware Update

      bInterfaceProtocol      2 

      iInterface              5 @Option Bytes  /0x1FFFC000/01*016 e

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       2

      bNumEndpoints           0

      bInterfaceClass       254 Application Specific Interface

      bInterfaceSubClass      1 Device Firmware Update

      bInterfaceProtocol      2 

      iInterface              6 @OTP Memory /0x1FFF7800/01*512 e,01*016 e

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       3

      bNumEndpoints           0

      bInterfaceClass       254 Application Specific Interface

      bInterfaceSubClass      1 Device Firmware Update

      bInterfaceProtocol      2 

      iInterface              7 @Device Feature/0xFFFF0000/01*004 e

      Device Firmware Upgrade Interface Descriptor:

        bLength                             9

        bDescriptorType                    33

        bmAttributes                       11

          Will Detach

          Manifestation Intolerant

          Upload Supported

          Download Supported

        wDetachTimeout                    255 milliseconds

        wTransferSize                    2048 bytes

        bcdDFUVersion                   1.1a

Device Status:     0x0001

  Self Powered

#stm32-dfu-bootloader-usb-stm32f4
1 REPLY 1

Sorry, bumping very old zombie unanswered questions off my feed

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..