Chapter 6 Using Linker

6.4.1Structure 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.

 

 

ID number

2 bytes

 

 

Program size

2 bytes

 

 

External memory address

4 bytes

 

 

Instruction RAM address

4 bytes

 

 

 

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.

108 Instruction RAM Support

Page 120
Image 120
Panasonic MN1030 user manual Structure of Iram Support Executable File, Structural Elements of an Iram Support Executable