Outputs multiple files for multiple memory banks.
The format of memory_config is ‑‑width x banks where:
banksspecifies the number of memory banks in the target memory system.
widthis the width of memory in the target memory system (8-bit, 16-bit, 32-bit, or 64-bit).
Valid configurations are:
‑‑8x1
‑‑8x2
‑‑8x4
‑‑16x1
‑‑16x2
‑‑32x1
‑‑32x2
‑‑64x1
fromelf uses the last specified configuration if more than one configuration is specified.
If the image has one load region, fromelf generates banks files with the following naming conventions:
If there is one memory bank (banks = 1) the output file is named by the ‑o output_file argument.
If there are multiple memory banks (banks > 1), fromelf generates banks number of files starting with output_file0 and finishing with output_file banks - 1. For example:
fromelf ‑‑vhx ‑‑8x2 test.axf ‑o test
generates two files named test0 and test1.
If the image has multiple load regions, fromelf creates a directory named output_file and generates bank files for each load region named load region0 to load region banks ‑ 1.
The memory width specified by width controls the size of the chunk of information read from the image and written to a file. The first chunk read is allocated to the first file (output_file0), the next chunk is allocated to the next file. After a chunk is allocated to the last file, allocation begins again with the first file (that is, the allocation is modulo based on the number of files). For example:
For a memory_config of ‑‑8x4
byte0 ‑> file0
byte1 ‑> file1
byte2 ‑> file2
byte3 ‑> file3
byte4 ‑> file0
…
For a memory_config of ‑‑16x2
halfword0 ‑> file0
halfword1 ‑> file1
halfword3 ‑> file0
…