Chapter 6 Using Linker

NOTE:

If multiple sections share the same or overlapping regions in instruction RAM,

 

 

their code must be mutually exclusive. In other words, in the above example, the

 

 

files prog1.rf, prog2.rf, and prog3.rf must not contain references to each other's

 

 

symbols because that would require that they both be in instruction RAM at the

 

 

same time—a physical impossibility. The linker automatically detects such

 

 

conflicts and suppresses executable file output.

 

 

 

Specifying an address for the instruction RAM program management table

ld103 -T @CODE=80000000 -T@DATA=1000 main.rf sub.rf

-OVL 1:_TEXT=40000000 prog1.rf -OVL 2:_TEXT=40000000 prog2.rf

-OVL 3:_TEXT=40000000 prog3.rf -PUT __overlay_table=a0000000

The section layout is the same as the previous example. The only difference is that the linker moves the instruction RAM program management table to the address a0000000 (hex.).

NOTE:

The developer must be careful not assign this table to an address where it

 

 

overlaps with actual code.

 

 

 

Instruction RAM Support 115

Page 127
Image 127
Panasonic MN1030 user manual Conflicts and suppresses executable file output, Overlaps with actual code