AnsweredAssumed Answered

stm32f4 dfu

Question asked by inman.walker on Dec 20, 2013
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




Outcomes