// TASKING VX-toolset for TriCore // Eclipse project linker script file // #if defined(__PROC_TC23X__) #define __REDEFINE_ON_CHIP_ITEMS #include "tc23x.lsl" processor mpe { derivative = my_tc23x; } derivative my_tc23x extends tc23x { memory dspr0 (tag="on-chip") { mau = 8; type = ram; size = 176k; priority = 1; exec_priority = 0; map (dest=bus:tc0:fpi_bus, dest_offset=0xd0000000, size=176k, priority=1, exec_priority=0); map (dest=bus:sri, dest_offset=0x70000000, size=176k); // map (dest=bus:tc0:fpi_bus, dest_offset=0xd0002000, size=176k, priority=1, exec_priority=0); // map (dest=bus:sri, dest_offset=0x70002000, size=176k); } memory dspr0x (tag="on-chip") { mau = 8; type = ram; size = 8k; priority = 1; exec_priority = 0; // map (dest=bus:tc0:fpi_bus, dest_offset=0xd002C000, size=8k, priority=1, exec_priority=0); // map (dest=bus:sri, dest_offset=0x7002C000, size=8k); map (dest=bus:sri, dest_offset=(0x7002E000-0x2000), size=8k); // map (dest=bus:sri, dest_offset=0x70000000, size=8k); } memory pspr0 (tag="on-chip") { mau = 8; type = ram; size = 8k; priority = 0; exec_priority = 1; map (dest=bus:tc0:fpi_bus, dest_offset=0xc0000000, size=8k, exec_priority=1); map (dest=bus:sri, dest_offset=0x70100000, size=8k); } memory pflash0 (tag="on-chip") { mau = 8; type = rom; size = 2M; map cached(dest=bus:sri, dest_offset=0x80000000, size=2M); map not_cached(dest=bus:sri, dest_offset=0xa0000000, size=2M, reserved); } memory brom (tag="on-chip") { mau = 8; type = reserved rom; size = 32k; map cached(dest=bus:sri, dest_offset=0x8fff8000, size=32k); map not_cached(dest=bus:sri, dest_offset=0xafff8000, size=32k, reserved); } memory dflash0 (tag="on-chip") { mau = 8; type = reserved nvram; size = 128k+16k; map (dest=bus:sri, src_offset=0, dest_offset=0xaf000000, size=128k); map (dest=bus:sri, src_offset=128k, dest_offset=0xaf100000, size=16k); } // section_layout :tc0:abs18 // { // group (run_addr=mem:dspr0x) // { // // select "(*.proc_variables*)"; // select "(.zdata.proc_variables*)"; // select "(*.zbss.proc_variables*)"; // } // } section_layout :vtc:linear { group (run_addr=mem:dspr0x) { // select "(*.proc_variables*)"; // select "(.data.proc_variables*)"; select "(*.bss.proc_variables*)"; } } } #else #include #endif