Hi TI
We are facing a specific issue and would like to fix the system stack at a well defined memory area.
We don't use the configuration tools but only have 2 configuration files in our system for controlling memory, build option, stacks, heap etc.
- the .tcf file, in our case we'll call it: framework_dspbios_CCS5.tcf
- the .cmd file, in this case we'll call it: framework.cmd
Here is the content of the framework.cmd file:
/* This places the .boot (containing bStart) in the BMEM section
that is to be placed at 0x80000000 */
SECTIONS {
.boot: {} > BMEM
.hs: {} > IRAM
.fastrts: {} > IRAM
{
-lfastrts67x.lib (.text)
}
}
Here is a snip of the framework_dspbios_CCS5.tcf file:
/* loading the generic platform */
var params = {};
params.clockRate = 200;
params.deviceName = "6713";
params.catalogName = "ti.catalog.c6000";
params.regs = {};
params.regs.l2Mode = "SRAM";
utils.loadPlatform("ti.platforms.generic", params);
/* enabling DSP/BIOS components */
bios.GBL.ENABLEINST = true;
bios.MEM.NOMEMORYHEAPS = false;
bios.RTDX.ENABLERTDX = true;
bios.HST.HOSTLINKTYPE = "RTDX";
bios.TSK.ENABLETSK = true;
bios.GBL.ENABLEALLTRC = true;
bios.GBL.ENDIANMODE = "little";
bios.GBL.C621XCONFIGUREL2 = false;
/* applying user changes */
bios.SDRAM = bios.MEM.create("SDRAM");
bios.SDRAM.comment = "15M bytes of SDRAM";
bios.SDRAM.base = 0x80200000;
bios.SDRAM.len = 0x600000;
bios.SDRAM.heapSize = 0x450000;
bios.SDRAM.enableHeapLabel = 1;
bios.SDRAM.heapLabel = prog.extern("SDRAM_HEAP", "asm");
bios.PROG_MEM = bios.MEM.create("PROG_MEM");
bios.PROG_MEM.base = 0x80000100;
bios.PROG_MEM.len = 0x1fff00;
bios.PROG_MEM.createHeap = 0;
bios.PROG_MEM.space = "code/data";
bios.BMEM = bios.MEM.create("BMEM");
bios.BMEM.comment = "This is for placing the BStart() functione.";
bios.BMEM.base = 0x80000000;
bios.BMEM.len = 0x100;
bios.BMEM.createHeap = 0;
bios.BMEM.space = "code";
bios.MEM.BIOSSEG = prog.get("PROG_MEM");
bios.MEM.STACKSIZE = 0xA00; <------------------- the system stack
bios.MEM.SYSINITSEG = prog.get("PROG_MEM");
bios.MEM.GBLINITSEG = prog.get("PROG_MEM");
bios.MEM.TRCDATASEG = prog.get("PROG_MEM");
bios.MEM.BIOSOBJSEG = prog.get("SDRAM");
bios.MEM.MALLOCSEG = prog.get("SDRAM");
bios.MEM.TEXTSEG = prog.get("PROG_MEM");
bios.MEM.SWITCHSEG = prog.get("PROG_MEM");
bios.MEM.FARSEG = prog.get("SDRAM");
bios.MEM.CINITSEG = prog.get("PROG_MEM");
bios.MEM.PINITSEG = prog.get("PROG_MEM");
bios.MEM.CONSTSEG = prog.get("PROG_MEM");
bios.MEM.DATASEG = prog.get("PROG_MEM");
bios.MEM.HWISEG = prog.get("PROG_MEM");
bios.MEM.HWIVECSEG = prog.get("PROG_MEM");
bios.MEM.RTDXTEXTSEG = prog.get("PROG_MEM");
.........................
bios.IRAM.base = 0x10;
bios.IRAM.len = 0x2FFF0; <------------------ internal memory
..............
Since the IRAM (internal memory) area is from address: 0x00010-0x2FFF0 the I would like to place the system stack in the internal memory e.g. from address 0x2F5F0 - 0x2FFF0 (length = 0xA00)
Which instructions should i use?
I can imagine these instructions should be include in the framework.cmd file due to the linker.
Since we don't have the configuration tools can you please help with the correct instructions
BR
Tam Tran
Vestas Wind System