I have given the C6748.cmd linker file as follows(which is given by TI standards)
-stack 0x2000
-heap 0x1000
MEMORY
{
DSPL2ROM o = 0x00700000 l = 0x00010000 /* 1MB L2 Internal ROM */
DSPL2RAM o = 0x00800000 l = 0x00040000 /* 256kB L2 Internal RAM */
DSPL1PRAM o = 0x00E00000 l = 0x00008000 /* 32kB L1 Internal Program RAM */
DSPL1DRAM o = 0x00F00000 l = 0x00008000 /* 32kB L1 Internal Data RAM */
SHDSPL2ROM o = 0x11700000 l = 0x00010000 /* 1MB L2 Shared Internal ROM */
SHDSPL2RAM o = 0x11800000 l = 0x00040000 /* 256kB L2 Shared Internal RAM */
SHDSPL1PRAM o = 0x11E00000 l = 0x00008000 /* 32kB L1 Shared Internal Program RAM */
SHDSPL1DRAM o = 0x11F00000 l = 0x00008000 /* 32kB L1 Shared Internal Data RAM */
EMIFACS0 o = 0x40000000 l = 0x20000000 /* 512MB SDRAM Data (CS0) */
EMIFACS2 o = 0x60000000 l = 0x02000000 /* 32MB Async Data (CS2) */
EMIFACS3 o = 0x62000000 l = 0x02000000 /* 32MB Async Data (CS3) */
EMIFACS4 o = 0x64000000 l = 0x02000000 /* 32MB Async Data (CS4) */
EMIFACS5 o = 0x66000000 l = 0x02000000 /* 32MB Async Data (CS5) */
SHRAM o = 0x80000000 l = 0x00020000 /* 128kB Shared RAM */
DDR2 o = 0xC0000000 l = 0x20000000 /* 512MB DDR2 Data */
}
SECTIONS
{
.text: > SHRAM
.stack > SHRAM
.bss > SHRAM
.cio > SHRAM
.const > SHRAM
.data > SHRAM
.switch > SHRAM
.sysmem > SHRAM
.far > SHRAM
.args > SHRAM
.ppinfo > SHRAM
.ppdata > SHRAM
/* COFF sections */
.pinit > SHRAM
.cinit > SHRAM
/* EABI sections */
.binit > SHRAM
.init_array > SHRAM
.neardata > SHRAM
.fardata > SHRAM
.rodata > SHRAM
.c6xabi.exidx > SHRAM
.c6xabi.extab > SHRAM
}
when using this linker program for my normal video decoder base interface program with nothing added into the generic algorithm created files(*.c,*.h,*.h), gives me (*.out) file[ with no error/warning], when this project is builded with CCSV5.
But after that,
When this *.out file is given to the 'xDAIS QuaLiTI Tool' for TI compliancy, it is giving 2 error cases and 5 pass cases...
It gives error as
i) Test failed. Problem: Not all global symbols defined by the module have the "TEST6_TI_" prefix (i.e. module_vendor_).
The following is the list of offending symbols:
$bss
.bss
.data
.text()
C$$EXIT()
_STACK_END
__TI_enable_exit_profile_output
__bss__
__cinit__
__data__
__edata__
__end__
__etext__()
__text__()
_args_main()
_auto_init()
_cleanup_ptr
_dtors_ptr
_lock
_nop()
_stack
_unlock
abort()
c_int00()
copy_in()
exit()
main()
cinit
edata
end
etext()
ii) Test failed. There must be a separate section for each IALG function, e.g. .text:algInit. Use the #pragma CODE_SECTION for each of your IALG fxns or build with functions in subsections (-mo on c6x) to fix this problem.
My program has pragma statements as follows....
#pragma CODE_SECTION(TEST6_TI_control, ".text:algControl")
#pragma CODE_SECTION(TEST6_TI_process, ".text:algProcess")
#pragma CODE_SECTION(TEST6_TI_initObj, ".text:algInit")
#pragma CODE_SECTION(TEST6_TI_free, ".text:algFree")
#pragma CODE_SECTION(TEST6_TI_alloc, ".text:algAlloc")
How I have to configure my linker file????
I have not yet downloaded it into my development board...
could any one please suggest me......