--- title: XU316 Firmware upgrade with DFU --- # I. XU316 Firmware upgrade with DFU This guide primarily focuses on firmware upgrades in a Windows environment; for other computer systems, please refer to the following link: [XMOS DFU](https://www.xmos.com/documentation/XM-014926-PC-1/html/doc/programming_guide/tutorials/freertos/examples/dfu.html#dfu) ## Prerequisites To upgrade the firmware on a Windows system, you will need the following tools: - [zadig-2.8.exe](/assets/download/zadig-2.8.exe) - [dfu-util-0.11](/assets/download/dfu-util-0.11-binaries.tar.xz) ## II. Firmware Upgrade Process ### 2.1 Zadig Configuration 1. Before upgrading the firmware, ensure that the data cable is properly connected. 2. Open the Zadig tool and select as shown in the figure: ![zadig Configuration Image](/assets/images/screenshots/zadig_setting.png) 3. Click on "Reinstall Driver" in the figure and wait for the success prompt. ### 2.2 Upgrade via dfu-util 1. Navigate to the root directory of the dfu-util executable file: `dfu-util-0.11-binaries\win64` or `dfu-util-0.11-binaries\win32`, depending on your Windows version. The following instructions are for the win64 version. 2. Enter the command `dfu-prefix.exe --version` 3. Receive the prompt "please report bugs to http://sourceforge.net/p/dfu-util/tickets/" to indicate success. 4. Copy the firmware to be upgraded into the `dfu-util-0.11-binaries\win64` directory. 5. Enter the command: `dfu-util -e -d 4000 -a 1 -D example_ffva_ua_adec_upgrade.bin` Note that `example_ffva_ua_adec_upgrade.bin` is a placeholder and should be replaced with the actual firmware file name you wish to upgrade. 6. After running, **you will receive the following prompts indicating a successful upgrade**: ```bash dfu-util 0.11 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2021 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Warning: Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release Opening DFU capable USB device... Device ID 20b1:4001 Run-Time device DFU version 0101 Claiming USB DFU Interface... Setting Alternate Interface #1 ... Determining device status... DFU state(2) = dfuIDLE, status(0) = No error condition is present DFU mode device DFU version 0101 Device returned transfer size 4096 Copying data from PC to DFU device Download [=========================] 100% 331776 bytes Download done. DFU state(7) = dfuMANIFEST, status(0) = No error condition is present DFU state(2) = dfuIDLE, status(0) = No error condition is present Done! ```