Chapter 6 Using Linker
108 Instruction RAM Support
6.4.1 Structure of IRAM Support Executable File

Structural Elements of an IRAM Support Executable

(A) Fixed program portion
This portion resides in external memory and runs using addresses as is in the normal fashion. Normal
executable files contain only this portion.
(B) Instruction RAM program
This portion resides in external memory, but only works properly when transferred to the instruction
RAM. This is automatically assigned to the external memory immediately following the fixed program
portion.
(C) Instruction RAM program management table
When the program contains instruction RAM portions, the linker automatically generates this table in
the executable file. Each entry for the transfer units contains the following information.
NOTE: The linker indicates the last entry in this table by setting the highest bit in the ID
number field to 1.
The linker creates a extra symbol, __overlay_table, indicating the location of this table.
(D) Transfer program
This portion copies the instruction RAM program from the external memory to the instruction RAM. It
refers to the instruction RAM program management table in the process. The developer must create
this portion and add it to the fixed program portion.
(E) Instruction RAM status management table
During execution, this table keeps track of which portions are currently in the instruction RAM. Since
this is for use by the debugger in identifying the portions currently in the instruction RAM, it is not
necessary for a program that merely runs in instruction RAM. The contents and usage of this table is
determined by the debugger.
The linker creates an extra symbol, __iram_manage, indicating the location of this table.
ID number 2 bytes
Program size 2 bytes
External memory address 4 bytes
Instruction RAM address 4 bytes