XM-014232-PC
25
}
The
Serial Number
is a custom field which can be programmed via USB and I2S control
interfaces and remains untouched by the subsequent DFU operations.
}
The
Factory and Upgrade Data Partitions
are the associated Data Partitions for the Factory and
Upgrade images (where upgrade is present). They are written to flash in the same operation as
the boot images. For more information on the generation and usage of Data Partitions see
Configuration and the Data Partition section.
NOTE: Storage of only a single upgrade Boot Image and Data Partition pair are supported. Therefore,
any Upgrade image applied will overwrite any existing Upgrade image present.
A summary of the Factory programming and Field update process for flash based systems is shown
in the
Appendix I: Flash programming and update flow.
4.1.2.
PROGRAMMING THE FACTORY BOOT IMAGE AND DATA PARTITION
The process to program the Factory Boot image and Data Partition is described in the
Updating the
firmware section.
4.1.3.
UPGRADE IMAGES AND DATA PARTITIONS
In order to be able to apply an Upgrade image to the device it must be programmed with a Factory
Image and Data Partition as described above.
The DFU process requires the use of two utilities,
dfu_usb
or
dfu_i2c
, depending on the firmware
variant, and
dfu_suffix_generator
. Precompiled versions are provided as part of the Release
Package in the appropriate platform directory in
\host
(eg.
\host\Win32\bin
), and the source
code for the DFU utility is provided in the
\host\src\dfu
directory. For more information on building
the host applications refer to the build instruction file in
\host\how_to_build_host_apps.rst
in
the Release Package.
In addition to the DFU utilities, the Upgrade image and Data Partition are required. These are provided
in the Release Package in the
\bin
and
\data-partition\images
. Generation of custom Data
Partitions is detailed in the
Configuration and the Data Partition section
.
There are a number of stages
required to prepare and execute a DFU to ensure are safe and successful update. These are detailed
below.
GENERATION OF BINARY UPGRADE IMAGE
First, the Upgrade Image (.xe) needs to be converted to a binary format. Use
xflash
and the following
command to convert the .xe image into a binary form (note multiple lines have been used for clarity
in command examples, but should be executed on single line):
xflash --no-compression --noinq --factory-version 14.3
--upgrade [UPGRADE_VERSION] [UPGRADE_EXECUTABLE] -o [OUTPUT_BINARY_NAME]
Even though the latest and recommended version of the tools is version 14.4.x, for legacy reasons we
specify
--factory-version
value of 14.3. (The 14.3 value refers to boot loader API while 14.4 is
toolchain version that retained the 14.3 API.)
NOTE: Should a different version of the tools be used, for example a future release, the version number
should be noted such that an update image of compatible format can be created.
The upgrade version number is specified with
--upgrade
. The format is as follows 16bit 0xJJMP
where J is major, M is minor and P is point.