Device Firmware Update (DFU) over USB on LPC4353

Discussion created by adb on Apr 5, 2018
Latest reply on Apr 18, 2018 by adb



I would like to be able to program my microcontroller (LPC4353) over USB. For this, I have found the USBDEV_ROM project on IAR's information centre. The project includes code for a composite device (HID, DFU and mass storage). When I run the program, it enumerates OK (appears in Windows 7 device manager in HID category) and a 32 kB mass storage device appears in Windows explorer.


Initially in the "Other devices" category in device manager, a DFU device appears with an exclamation mark. I have downloaded AN4370SW, which contains a DFU_winusb_driver. The folder contains a DFU_Device.inf and DFU_Device_Runtime.inf. In device manager, I'm able to manually direct windows to use one of these inf files. If I do this, a "DFU device" category appears in the device manager along with a "Device firmware upgrade". Am I using the correct drivers? Have I followed the correct steps so far?


To check that the embedded code is doing what I think it should be doing, I would like to download a bin file over USB. What is the correct procedure for this? I've seen a number of programs mentioned on the NXP website: LPCscrypt, DFU_demo (comes with AN4370SW), dfu-util from sourceforge and LPCExpresso. None of these work for me. I've included the output from dfu-util at the bottom of this post.


Is an up to date tutorial or app note available for this?


Thanks in advance for pointing me in the right direction,






C:\Users\ ...\Downloads\dfu-util-0.9-win64\dfu-util-0.9-win64>dfu-util -R -D pad2.bin
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to

Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 1fc9:0114
Run-time device DFU version 0100
Claiming USB DFU Runtime Interface...
Cannot claim interface 0