DSPRelated.com
Forums

Help for long running code

Started by Nilesh Date October 10, 2006
Hi All,

I am doing project in H.264 codecs which is to be implemented on TI platform on DM642 series board.

For this I am using freely available JM10 code. I have made code error free for loading in CCstudio. Problem that I am facing now is not about of o\p I am getting but code running for long time. When I choose functional simulation for dm642 board simulation in ccs I requires minimum 1.5+ hours to get total o\p (which is perfectly correct) or to get total run. For this I was not turned on clock or profiler. Same is the problem for cycle accurate simulation on DM642 in CCS. For this it requires hours to get run (I have calculated in 15+ hrs it encodes just 15 macroblocks). Same code which was originally compatible to run on vc++ runs in 5 seconds.

I am using qcif image of three frames of foreman.

So my problem is not of errors but abnormal long execution time. I have done speed critical build option for building code. Code size is around 5DFFF.

cmd file is as below=>

-c
-heap 0x9000000
-stack 0x2000000
-l rts6400.lib

MEMORY
{
VECS: o = 00000000h l = 00400h /* reset & interrupt vectors */
PMEM: o = 90000000h l = 900000h /* intended for initialization*/
BMEM: o = 80000000h l = 10000000h /* .bss, .sysmem, .stack, .cinit */
}

SECTIONS
{
vectors > VECS
.text > PMEM
.data > BMEM
.stack > BMEM
.bss > BMEM
.sysmem > BMEM
.cinit > BMEM
.const > BMEM
.cio > BMEM
.far > BMEM
}

For more information when I experimented for any function, profiler shows me:
Instruction catch misses, l2 cache instruction misses both of 100% ,
I have enabled l2 cache

What I think now is problem is with this cmd file.

# Also Can anybody tell me how to go for relocation of code? So that I will do that for .text section. which I tried for above problem but problem again comes that c_int00 boot loader routine does not gets copied to run time address from load address but other .text executable code does gets copied! So by giving run command code does not runs bcoz NOP instruction are present at that address!!

# How I can achieve coping of c_int00 boot loader routine to run time address?

Suggestions are expected.

Thanx in advance