This Windows tool (dfusec tool) provides the capability to download binary images to LPC18xx or LPC43xx boards via DFU boot. The tool can be used to download/execute or program executable images to a LPC18xx/43xx based board. Included with the DFUSec release are programming algorithms for the LPC18xx/LPC43xx internal FLASH, SPI FLASH, and emulated IRAM.
The dfusec tool uses Winu*** for communication via USB. Prior to using this tool, the drivers need to be download and installed. This tool has been tested with various LPC18xx and LPC43xx based board and the LPCLink2 board.
NOTE: Microsoft .NET Framework 4 or later must be installed to use this tool.
Updates since v1.05 (release v1.10)
Tool can be closed correctly if it locks up due to USB polling failures (ie, when a cable is removed during a transfer)
Start button states have been fixed. Note the start button will stay greyed out on an unsuccessful operation
Add auto-program mode for fast production DFU based programming without pressing start
Debug messages are now routed to the new Program Log Window
Erasing, program, and read timeouts have been added
Optional version ID check has been added to the protocol
Improved error and status messages as reported by host
Tweaked the GUI to better improve and limit options available
Added verify capability for host based verifies of the programmed image
Disable reset after a program cycle to allow faster same algo program steps
Added a capability to execute a downloaded image (ie, in IRAM)
Added a capability to save output and program window logs in a file (FILE menu)
Optional verify operation can be used to verify complete final image for a step
Optional state can be selected at the end of a step for reset or jumping to an address
******** Programming algorithm enhancements and fixes ********
All algos - programming algorithm code will generate a warning if the version is wrong
All algos - Fixed 32K IRAM wrap issue in project scatter files, adjusted image size to work with all devices regardless of IRAM sizing
All algos - Programming algorithms report their program range at run-time using the debug capability
All algos - Debug output can be disabled by setting the parameter value = 1 (step based)
IRAM algo - opened up entire address range of device for read/write
SPIFLASH algo - Added 2nd range for SPI FLASH at 0x14 and 0x80
Automaitcally detects and supports USB0 and USB1 ports and full and high speed based on ROM USB boot port mode
New API function needed for readback, needed for verify operation
Updates since v1.00 (release v1.05)
Fixed an issue with state of USB and control of start button - start button should correctly highlight when a valid USB DFU session is detected
Converted DFU download and programming sequences to threaded models
Fixed a number of state issues related to the UI
Revised USB detection/connection/reconnection code and notifications to work more reliably
Fixed occasional loss of USB state with programming sequencer
Minimized button state and text bubbles work correctly
Known issues:
Procedureal issue with DFU download can give phantom errors (always reset the board prior to a program sequence)
Tool can still crash if the USB transfer gets stuck (ie, when a board is unplugged during a transfer)
Expected/desriable changes for future updates
(Desriable) DFU upload and verify-only support (adds read support in the DFUSec Programming API)
(Desriable) Support for non-contiguous HEX and SREC files
OTP fuse program capability integrated with the program sequence