mirror of
https://github.com/linux-msm/qdl.git
synced 2026-10-07 06:29:17 -07:00
67 lines
2.1 KiB
Markdown
67 lines
2.1 KiB
Markdown
# 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.
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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.
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl create-sahara-archive programmer.bin 13:prog_firehose_ddr.elf,42:the-answer
|
||
|
|
```
|
||
|
|
|
||
|
|
To create an archive from a Sahara configuration XML file:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl create-sahara-archive programmer.bin sahara_programmer.xml
|
||
|
|
```
|
||
|
|
|
||
|
|
To create an archive from a contents XML file:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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`:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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.
|