Skip to content

Latest commit

 

History

History
67 lines (47 loc) · 2.13 KB

multi-programmer.md

File metadata and controls

67 lines (47 loc) · 2.13 KB

Multi-programmer targets

On some targets multiple files need to be loaded in order to reach the Firehose programmer; these targets will request multiple images over Sahara. Three mechanisms for providing these images are provided:

Command line argument

The programmer argument allows specifying a comma-separated list of colon-separated "id" and "filename" pairs. Each filename should refer to the Sahara image of the specified Sahara image id.

qdl 13:prog_firehose_ddr.elf,42:the-answer rawprogram.xml

Sahara configuration XML file

Flattened METAs include the various images that need to be loaded to enter Firehose mode, as well as a sahara_config XML file, which defines the Sahara image id for each of these images.

If the specified device programmer is determined to be a Sahara configuration XML file, it will be parsed and the referenced files will be loaded and serviced to the device upon request.

qdl sahara_programmer.xml rawprogram.xml

Programmer archive

Directly providing a list of ids and filenames is cumbersome and error-prone, so QDL accepts a "programmer archive". This allows the user to use the tool in the same fashion as was done for single-programmer targets.

The programmer archive contains the Sahara images to be loaded, identified by the Sahara id needed by the target.

QDL can create such an archive from the same programmer descriptions accepted for flashing. To create an archive from a command-line Sahara image list:

qdl create-sahara-archive programmer.bin 13:prog_firehose_ddr.elf,42:the-answer

To create an archive from a Sahara configuration XML file:

qdl create-sahara-archive programmer.bin sahara_programmer.xml

To create an archive from a contents XML file:

qdl create-sahara-archive programmer.bin contents.xml

When the contents XML describes multiple storage or flavor combinations, select exactly one with the same ::specifier syntax used by flash:

qdl create-sahara-archive programmer.bin contents.xml::ufs

programmer.bin can now be passed to QDL and the included images will be served in order to reach Firehose mode.