Keil™, An ARM® Company

RealView Linker and Utilities Guide

memory_config

7.2.14. memory_config

Outputs multiple files for multiple memory banks.

The format of memory_config is ‑‑width x banks where:

banks

specifies the number of memory banks in the target memory system.

width

is 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
…
Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0377A