This is the way I did the firmware update using DFU on my board:
$ sudo apt-get install dfu-util $ sudo dfu-util -d 0483:df11 -a 0 -s 0x08000000 -D nuttx.bin dfu-util 0.8 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2014 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to dfu-util@lists.gnumonks.org dfu-util: Invalid DFU suffix signature dfu-util: A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 0483:df11 Run-time device DFU version 011a Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuERROR, status = 10 dfuERROR, clearing status Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 011a Device returned transfer size 2048 DfuSe interface name: "Internal Flash " Downloading to address = 0x08000000, size = 131916 Download [=========================] 100% 131916 bytes Download done. File downloaded successfully
The STM32 needs BOOT0 at logic level 1 and BOOT1 logic level 0 to enter in DFU mode during Reset/Power-ON.