Recreated "DFU loader for XMOS USB AUDIO devices" document from PDF (original source could not be found)
This commit is contained in:
10
module_dfu/doc/building_xmos_dfu.rst
Normal file
10
module_dfu/doc/building_xmos_dfu.rst
Normal file
@@ -0,0 +1,10 @@
|
||||
Building the loader–OSX
|
||||
=======================
|
||||
|
||||
The loader is compiled using libusb, the code for the loader is contained in the
|
||||
file xmosdfu.cpp
|
||||
|
||||
To build the loader
|
||||
-------------------
|
||||
|
||||
``g++ -m32 -o xmosdfu -I. xmosdfu.cpp libusb-1.0.0.dylib``
|
||||
26
module_dfu/doc/factory_image.rst
Normal file
26
module_dfu/doc/factory_image.rst
Normal file
@@ -0,0 +1,26 @@
|
||||
Installing the factory image to the device
|
||||
==========================================
|
||||
|
||||
To rebuild the USB audio firmware with the DFU device interface edit the
|
||||
device_defines.h file and comment in the #define DFU line.
|
||||
|
||||
Use the XMOS Development Tools to run the command:
|
||||
|
||||
``xflash --boot-partition-size 0x20000 usb_audio.xe``
|
||||
|
||||
This programs the factory default firmware image into the flash device. This
|
||||
will add a new interface to the device that supports the DFU mechanism.
|
||||
|
||||
To use the firmware upgrade mechanism you need to build a firmware upgrade
|
||||
image:
|
||||
|
||||
#. Edit the ``device_defines.h`` file and change the BCD_DEVICE number for the
|
||||
application.
|
||||
#. Rebuild the application.
|
||||
|
||||
To generate the firmware upgrade image run the following command:
|
||||
|
||||
``xflash --upgrade 1 usb_audio.xe 0x20000 -o new_firmware.bin``
|
||||
|
||||
You should now have the file ``usb_audio_class1.bin`` which contains the
|
||||
firmware for the audio class 1 implementation.
|
||||
10
module_dfu/doc/index.rst
Normal file
10
module_dfu/doc/index.rst
Normal file
@@ -0,0 +1,10 @@
|
||||
DFU loader for XMOS USB AUDIO devices
|
||||
=====================================
|
||||
|
||||
.. toctree::
|
||||
|
||||
Introduction <introduction>
|
||||
Installing the factory image to the device <factory_image>
|
||||
Using the DFU loader–Windows <thesycon_dfu>
|
||||
Using the DFU loader–OSX <xmos_dfu>
|
||||
Building the loader–OSX <building_xmos_dfu>
|
||||
22
module_dfu/doc/introduction.rst
Normal file
22
module_dfu/doc/introduction.rst
Normal file
@@ -0,0 +1,22 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
The DFU loader is a flash device firmware upgrade mechanism. To work correctly
|
||||
your development board must contain the latest DFU enabled firmware.
|
||||
|
||||
The firmware upgrade for XMOS USB devices implementation uses the USB standard
|
||||
DFU device class mechanism and is based on the following specification:
|
||||
http://www.usb.org/developers/devclass_docs/usbdfu10.pdf
|
||||
|
||||
Supported functionality:
|
||||
|
||||
- Download of new firmware to device
|
||||
- Upload of existing firmware from device
|
||||
- Revert device back to factory image
|
||||
- Automatic reboot of device on firmware upgrade
|
||||
|
||||
You must use XMOS Development Tools version 10.4.1 (or later) with firmware
|
||||
interface.
|
||||
|
||||
The DFU device on Windows requires the Theyscon USB Audio 2.0 Windows driver
|
||||
version 1.13.3.0 or later.
|
||||
57
module_dfu/doc/thesycon_dfu.rst
Normal file
57
module_dfu/doc/thesycon_dfu.rst
Normal file
@@ -0,0 +1,57 @@
|
||||
Using the DFU loader–Windows
|
||||
============================
|
||||
|
||||
Set up the image loader
|
||||
-----------------------
|
||||
|
||||
#. Open the DFU Console Window from the Thesycon folder on the Start menu
|
||||
(Program Files>Thesycon>USB Audio 2.0 Class Driver EVAL>DFU console).
|
||||
#. change directory to where the files have been extracted.
|
||||
|
||||
To check the device has been detected, run the following command in the DFU
|
||||
console:
|
||||
|
||||
``dfucons info``
|
||||
|
||||
The console shows the DFU devices that have been detected.
|
||||
|
||||
Download new firmware
|
||||
---------------------
|
||||
|
||||
To program the new firmware run the command:
|
||||
|
||||
``dfucons download usb_audio_class1.bin``
|
||||
|
||||
Note that once this is done the device restarts as an XMOS audio 1.0 device. The
|
||||
original factory default audio 2 application is still present but the device is
|
||||
now running the upgraded application firmware.
|
||||
|
||||
You can check the device has been updated by running the command:
|
||||
|
||||
``dfucons info``
|
||||
|
||||
This will display the device revision.
|
||||
|
||||
Uploading existing firmware from the device
|
||||
-------------------------------------------
|
||||
|
||||
You can retrieve a firmware image from the device, providing an upgrade image is
|
||||
present.
|
||||
Run the command:
|
||||
|
||||
``dfucons upload currentfirmware.bin``
|
||||
|
||||
The file ``currentfirmware.bin`` contains the latest upgrade image. This file is
|
||||
an exact copy of the data from the flash and can be downloaded to the device
|
||||
again to test.
|
||||
|
||||
Reverting firmware to factory image
|
||||
-----------------------------------
|
||||
|
||||
To revert the device back to its factory (i.e XFLASH) installed state from the
|
||||
new firmware, run the command:
|
||||
|
||||
``dfucons revertfactory``
|
||||
|
||||
The device will now only contain the factory firmware and will be running as an
|
||||
audio 2 device again.
|
||||
45
module_dfu/doc/xmos_dfu.rst
Normal file
45
module_dfu/doc/xmos_dfu.rst
Normal file
@@ -0,0 +1,45 @@
|
||||
Using the DFU loader–OSX
|
||||
========================
|
||||
|
||||
Set up the image loader
|
||||
-----------------------
|
||||
|
||||
#. Open a terminal
|
||||
#. Change directory to where the files have been extracted
|
||||
#. Source the ``setup.sh`` script
|
||||
|
||||
Download new firmware
|
||||
---------------------
|
||||
|
||||
To program the new firmware run the command:
|
||||
|
||||
``./xmosdfu --download usb_audio_class1.bin``
|
||||
|
||||
Note that once this is done the device restarts as an XMOS audio 1.0 device. The
|
||||
original factory default audio 2 application is still present but the device is
|
||||
now running the upgraded application firmware.
|
||||
|
||||
Uploading existing firmware from the device
|
||||
-------------------------------------------
|
||||
|
||||
You can retrieve a firmware image from the device, providing an upgrade image is
|
||||
present.
|
||||
|
||||
Run the command:
|
||||
|
||||
``./xmosdfu --upload currentfirmware.bin``
|
||||
|
||||
The file ``currentfirmware.bin`` contains the latest upgrade image. This file is
|
||||
an exact copy of the data from the flash and can be downloaded to the device
|
||||
again to test.
|
||||
|
||||
Reverting firmware to factory image
|
||||
-----------------------------------
|
||||
|
||||
To revert the device back to its factory (i.e XFLASH) installed state from the
|
||||
new firmware, run the command:
|
||||
|
||||
``./xmosdfu --revertfactory``
|
||||
|
||||
The device will now only contain the factory firmware and will be running as an
|
||||
audio 2 device again.
|
||||
Reference in New Issue
Block a user