Chapter 6 Using Linker
Instruction RAM Support 115
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.