Technical discussions about the TI C6000 DSPs (including the c62x, c64x and c67x DSPs).
hi i have project of sample target to host on dsp c6713
that sends data throw hsrtdx (high speed rtdx)
if i integrate my project to other project it stucks i was wondering
how to set up correctly the cmd file
***************8
i have problem with the line
------
BMEM: o=80000000h
it sayes two things in the same merory how to corect this
***********************8
------------------------------------
/*************************************************************************
* $RCSfile: c6713dsk.cmd,v $
* $Revision: 1.3 $
* $Date: 2000/12/16 06:25:41 $
* Copyright (c) 1997 Texas Instruments Incorporated
*
* Description:
* Sample Linker Control File for C6713 DSK target boards.
*
* Usage:
* lnk6x <obj files...> -o <out file> -m <map file> lcf.cmd
* cl6x <src files...> -z -o <out file> -m <map file> lcf.cmd
*************************************************************************/
-c
-heap 0x1000
-stack 0x1000
-u __vectors
-u _auto_init
_HWI_Cache_Control = 0;
/* RTDX Interrupt Mask
- This symbol defines those interrupts which are clients of RTDX
(ie - interrupts which call RTDX functions.
- RTDX will apply this mask to the IER before excuting code in
RTDX critical sections temporarily disabling those interrupts for
a few cycles.
- Any interrupt handlers which call RTDX_read/write functions should
be added to the mask to prevent corruption of the RTDX global state
variables by simulataneous access from multiple RTDX clients.
*/
_RTDX_interrupt_mask = ~0x000001808;
MEMORY
{
VECS: o=00000000h l=00000200h /* interrupt vectors */
PMEM: o=00000200h l=0000FE00h /* Internal RAM (L2) mem */
BMEM: o=80000000h l=01000000h /* CE0, SDRAM, 16 MBytes */
}
SECTIONS
{
.intvecs > 0h
.text > BMEM
.rtdx_text > BMEM
.far > BMEM
.stack > BMEM
.bss > BMEM
.cinit > BMEM
.pinit > PMEM
.cio > BMEM
.const > BMEM
.data > BMEM
.rtdx_data > BMEM
.switch > BMEM
.sysmem > BMEM
}
------------------------------------------------------
with the next files :
------------------
SECTIONS {
.boot_loader > BOOT
.pll_config > PLL
.emif_config > EMIF_CONFIG
}
-------------------
/* Do *not* directly modify this file. It was */
/* generated by the Configuration Tool; any */
/* changes risk being overwritten. */
/* INPUT post.cdb */
/* MODULE PARAMETERS */
GBL_USERINITFXN = _FXN_F_nop;
MEM_SEGZERO = IRAM;
MEM_MALLOCSEG = IRAM;
CLK_TIMEFXN = CLK_F_getshtime;
CLK_HOOKFXN = HWI_F_dispatch;
PRD_THOOKFXN = FXN_F_nop;
RTDX_DATAMEMSEG = IRAM;
HST_DSMBUFSEG = IRAM;
SWI_EHOOKFXN = GBL_NULL;
SWI_IHOOKFXN = GBL_NULL;
SWI_EXECFXN = FXN_F_nop;
SWI_RUNFXN = FXN_F_nop;
TSK_STACKSEG = MEM_NULL;
TSK_VCREATEFXN = _FXN_F_nop;
TSK_VDELETEFXN = _FXN_F_nop;
TSK_VEXITFXN = _FXN_F_nop;
IDL_CALIBRFXN = IDL_F_calibrate;
SYS_ABORTFXN = _UTL_doAbort;
SYS_ERRORFXN = _UTL_doError;
SYS_EXITFXN = _UTL_halt;
SYS_PUTCFXN = _UTL_doPutc;
GIO_CREATEFXN = _FXN_F_nop;
GIO_DELETEFXN = _FXN_F_nop;
GIO_PENDFXN = _FXN_F_nop;
GIO_POSTFXN = _FXN_F_nop;
/* OBJECT ALIASES */
_IRAM = IRAM;
_SDRAM = SDRAM;
_BOOT = BOOT;
_FLASH = FLASH;
_EMIF_CONFIG = EMIF_CONFIG;
_PLL = PLL;
_PRD_clock = PRD_clock;
_RTA_fromHost = RTA_fromHost;
_RTA_toHost = RTA_toHost;
_HWI_RESET = HWI_RESET;
_HWI_NMI = HWI_NMI;
_HWI_RESERVED0 = HWI_RESERVED0;
_HWI_RESERVED1 = HWI_RESERVED1;
_HWI_INT4 = HWI_INT4;
_HWI_INT5 = HWI_INT5;
_HWI_INT6 = HWI_INT6;
_HWI_INT7 = HWI_INT7;
_HWI_INT8 = HWI_INT8;
_HWI_INT9 = HWI_INT9;
_HWI_INT10 = HWI_INT10;
_HWI_INT11 = HWI_INT11;
_HWI_INT12 = HWI_INT12;
_HWI_INT13 = HWI_INT13;
_HWI_INT14 = HWI_INT14;
_HWI_INT15 = HWI_INT15;
_LNK_dataPump = LNK_dataPump;
_RTA_dispatcher = RTA_dispatcher;
_IDL_cpuLoad = IDL_cpuLoad;
_LOG_system = LOG_system;
_IDL_busyObj = IDL_busyObj;
/* MODULE GBL */
SECTIONS {
.vers (COPY): {} /* version information */
}
-priority
-llnkrtdx.a62
-ldrivers.a67 /* device drivers support */
-lsioboth.a62 /* supports both SIO models */
-lbiosi.a62 /* DSP/BIOS support */
-lrtdxhs.lib /* RTDX support */
-lcsl6713.lib
-lrts6700.lib /* C and C++ run-time library support */
_GBL_CACHE = GBL_CACHE;
/* MODULE MEM */
-stack 0x1000
MEMORY {
IRAM : origin = 0x800, len = 0x2f800
SDRAM : origin = 0x80000000, len = 0x8000000
BOOT : origin = 0x0, len = 0x200
FLASH : origin = 0x90000000, len = 0x1000000
EMIF_CONFIG : origin = 0x200, len = 0x200
PLL : origin = 0x400, len = 0x400
}
/* MODULE CLK */
SECTIONS {
.clk: {
_CLK_start = _CLK_start6x;
CLK_F_gethtime = CLK_F_getshtime;
CLK_A_TABBEG = .;
*(.clk)
CLK_A_TABEND = .;
CLK_A_TABLEN = (. - CLK_A_TABBEG) / 1;
} > IRAM
}
_CLK_PRD = CLK_PRD;
_CLK_COUNTSPMS = CLK_COUNTSPMS;
_CLK_REGS = CLK_REGS;
_CLK_USETIMER = CLK_USETIMER;
_CLK_TIMERNUM = CLK_TIMERNUM;
_CLK_TDDR = CLK_TDDR;
/* MODULE PRD */
SECTIONS {
.prd: {
PRD_A_TABBEG = .;
/* no PRD objects */
PRD_A_TABEND = .;
PRD_A_TABLEN = (. - PRD_A_TABBEG) / 32;
} > IRAM
}
/* MODULE RTDX */
_RTDX_interrupt_mask = 0x0;
/* MODULE SWI */
SECTIONS {
.swi: {
SWI_A_TABBEG = .;
/* no SWI objects */
SWI_A_TABEND = .;
SWI_A_TABLEN = (. - SWI_A_TABBEG) / 44;
} > IRAM
}
/* MODULE TSK */
_KNL_swi = 0;
/* MODULE IDL */
SECTIONS {
.idl: {
IDL_A_TABBEG = .;
*(.idl)
IDL_A_TABEND = .;
IDL_A_TABLEN = (. - IDL_A_TABBEG) / 8;
IDL_A_CALBEG = .;
*(.idlcal)
IDL_A_CALEND = .;
IDL_A_CALLEN = (. - IDL_A_CALBEG) / 8;
} > IRAM
}
SECTIONS {
.bss: {} > IRAM
.hwi_vec: {
HWI_A_VECS = .;
*(.hwi_vec)
} align = 0x400 > IRAM
.far: {} > IRAM
.sysdata: {} > IRAM
.sysinit: {} > IRAM
.sysregs: {} > IRAM
.trcdata: {} > IRAM
.mem: {} > IRAM
.gblinit: {} > IRAM
.cinit: {} > IRAM
.pinit: {} > IRAM
.data: {} > IRAM
.const: {} > IRAM
.switch: {} > IRAM
.cio: {} > IRAM
.text: {} > IRAM
frt: {} > IRAM
.bios: {} > IRAM
.stack: fill=0xc0ffee {
GBL_stackbeg = .;
*(.stack)
GBL_stackend = GBL_stackbeg + 0x1000 - 1;
_HWI_STKBOTTOM = GBL_stackbeg + 0x1000 - 4 & ~7;
_HWI_STKTOP = GBL_stackbeg;
} > IRAM
.trace: fill = 0x0 {
_SYS_PUTCBEG = .;
. += 0x200;
_SYS_PUTCEND = . - 1;
} > IRAM
.rtdx_data: {} > IRAM
.rtdx_text: {} > IRAM
.hst: {
HST_A_TABBEG = .;
_HST_A_TABBEG = .;
*(.hst)
HST_A_TABEND = .;
_HST_A_TABEND = .;
HST_A_TABLEN = (. - _HST_A_TABBEG) / 20;
_HST_A_TABLEN = (. - _HST_A_TABBEG) / 20;
} > IRAM
.dsm: {} > IRAM
/* RTA_fromHost buffer */
.hst1: align = 0x4 {} > IRAM
/* RTA_toHost buffer */
.hst0: align = 0x4 {} > IRAM
.hwi: {} > IRAM
.args: fill=0 {
*(.args)
. += 0x4;
} > IRAM
.log: {
LOG_A_TABBEG = .;
_LOG_A_TABBEG = .;
*(.log)
LOG_A_TABEND = .;
_LOG_A_TABEND = .;
LOG_A_TABLEN = (. - _LOG_A_TABBEG) / 24;
_LOG_A_TABLEN = (. - _LOG_A_TABBEG) / 24;
} > IRAM
.printf (COPY): {} > IRAM
/* LOG_system buffer */
.LOG_system$buf: align = 0x100 fill = 0xffffffff {} > IRAM
.pip: {
PIP_A_TABBEG = .;
_PIP_A_TABBEG = .;
*(.pip)
PIP_A_TABEND = .;
_PIP_A_TABEND = .;
PIP_A_TABLEN = (. - _PIP_A_TABBEG) / 100;
_PIP_A_TABLEN = (. - _PIP_A_TABBEG) / 100;
} > IRAM
.sts: {
STS_A_TABBEG = .;
_STS_A_TABBEG = .;
*(.sts)
STS_A_TABEND = .;
_STS_A_TABEND = .;
STS_A_TABLEN = (. - _STS_A_TABBEG) / 16;
_STS_A_TABLEN = (. - _STS_A_TABBEG) / 16;
} > IRAM
.sys: {} > IRAM
.gio: {} > IRAM
.IRAM$heap: {
IRAM$B = .;
_IRAM_base = .;
IRAM$L = 0x5000;
_IRAM_length = 0x5000;
. += 0x5000;
} > IRAM
}
------------------------------------
OMAP35x EVM jump-starts low-power apps
------------------------------------
The modular and extensible OMAP35x Evaluation Module (EVM) enables developers to start building
applications based on the OMAP35x architecture:http://www.DSPRelated.com/omap35x