/* _CLK_REGS and _CLK_USETIMER must be defined here (LT 7/13/01) */ _CLK_REGS = 0; _CLK_USETIMER = 0; /* MEMORY sections are defined in the MEMORY directive below. These MUST be the same length as their counterparts in memoryPartitions.h or memory over-writes can potentially occur!! */ MEMORY { IPRAM : origin = 0x0, len = 0x10000 IDREGS : origin = 0x00010000, len = 0x80 IDATA : origin = 0x00010080, len = 0x800 IDRAM : origin = 0x00010880, len = 0x7780 BURST : origin = 0x00018000, len = 0x8000 XPROG : origin = 0xa0000000, len = 0x40000 XFREE0_C : origin = 0xa0040000, len = 0x3fc0000 /* cachable */ XFREE0_NC : origin = 0xa4000000, len = 0x4000000 /* non-cachable */ XFREE1_C : origin = 0xb0000000, len = 0x4000000 /* cachable */ XFREE1_NC : origin = 0xb4000000, len = 0x4000000 /* non-cachable */ } SECTIONS { .vectors > IPRAM .text > IPRAM .usect00 "icode" > IPRAM .usect01 "xcode" > XPROG .usect02 "xpdata" > XPROG .usect06 "csl_ip" > IPRAM .usect07 "csl_xp" > XPROG .usect08 "rts_ip" > IPRAM .usect09 "rts_math" > IPRAM .usect10 "rts_stdio" > XPROG .usect04 "xdata" > XPROG .usect05 "fitluts" > XPROG .usect11 "commRegs" > IDREGS .usect12 "idata" > IDATA .usect13 "burst" > BURST .usectH1 "xheap0c" > XFREE0_C .usectH2 "xheap0nc" > XFREE0_NC .usectH3 "xheap1c" > XFREE1_C .usectH4 "xheap1nc" > XFREE1_NC .usectH0 "heap" > XFREE1_NC /* NOTE: cinit > XPROG means that code must be loaded by pre-loading the CPU EMIF registers to enable external memory (the MDSP now does this), and then loading the code with VME or MDSP. If it must be put in IDRAM, perhaps it can be put in the burst buffer (cinit section initializes c variables at program start, and so won't be needed later). */ .cinit > XPROG .const > IDRAM .data > IDRAM .switch > IDRAM .pinit > IDRAM .cio > IDRAM .far > IDRAM .sysmem > IDRAM .bss > IDRAM .stack > IDRAM }