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:
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.xmlFlattened 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.xmlDirectly 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-answerTo create an archive from a Sahara configuration XML file:
qdl create-sahara-archive programmer.bin sahara_programmer.xmlTo create an archive from a contents XML file:
qdl create-sahara-archive programmer.bin contents.xmlWhen 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::ufsprogrammer.bin can now be passed to QDL and the included images will be served in order to reach Firehose mode.