Chris,

I found that my map is proper, and the issue is elsewhere. It looks like the LINKCFG_Dsp structure. The av5T ipc_dsplink library which is being linked with the application seems to have some duplicate symbols. I modified the LINKCFG_Dsp in dsplink to change the name and found that the settings from the ipc dsplink library are there as well. objdump does list duplicate symbols for the dsp config. The alignment after the dsp power control field is off 4 bytes in the data dsplink gets from the application.

strings system_ce.plug| grep GEM DM6446GEM_SHMEM_Config DM6446GEM
DM6446GEMTEST
DM6446GEM_SHMEM_Config
/home/bgr/projects/cerberus/support/codec_engine_2_23_01/cetools/packages/dsplink/config/BUILD/CFG_DM6446GEM_SHMEM.c
DM6446GEM_SHMEM_Config
DM6446GEM_SHMEM_Config
CFG_DM6446GEM_SHMEM.c
CFG_DM6446GEM_SHMEM.c
DM6446GEM_SHMEM_Config

I suspect that the structure alignment in there is different. Perhaps with the old DSP power control boolean. If you can shed some light on this I would appreciate it. I was planning on rebuilding against the Code Sourcery toolchain tomorrow. Perhaps that is what I should have done in the first place, but I was initially trying to follow recommendations/requirements from the component documentation.

btw, does setting the mem table for the OSAL override settings in the server tconf?

Thanks.

Ring, Chris wrote:
If possible, I'd recommend removing the osalGlobal.armDspLinkConfig assignment 
in your app.cfg script.  You should be able to use the default memory map 
initialized by Engine.createFromServer():

http://tiexpressdsp.com/index.php/Configuring_Codec_Engine_in_Arm_apps_with_createFromServer

Chris

-----Original Message-----
From: [email protected] [mailto:[email protected]
] On Behalf Of Brian Rhodes
Sent: Tuesday, June 23, 2009 12:18 PM
To: Brian Rhodes
Cc: [email protected]
Subject: Re: Codec Engine 2_23_01 Failure to load Server

Brian Rhodes wrote:
MV Pro 5.0 toolchain
Codec Engine 2.23.01
DSP/BIOS 5.33.05
XDCTOOLS 3.15.00.50
Framework Components 2.23.01
XDAIS 6.23
DSPLINK 1.61.03
CMEM (linuxutils) 2.23.01

The error message @0,123,595us: [+7 T:0x44643490 S:0x44642d74] OP - Processor_create_d> Loading and starting DSP server 'mpeg2_dec_server.x64P' FAILED, status=[0x80008009] (look for error code 'DSP_EBASE + 0x9' in dsplink*/packages/dsplink/gpp/inc/usr/errbase.h) says...

/* The specified executable file could not be found. */
#define DSP_EFILE                   (DSP_EBASE + 0x9l)

Previously I had simply located the DSP binary in the CWD,
but surely
I've missed something in the documentation and this is now
incorrect.
Is there a different way of configuring the path? I recall
something
from a much older version of CE where you could specify the
absolute
path in the engine creation call.

I found that I had a conditional including an incorrect config for my server which was using DSP/BIOS 5_33_02 and that was causing the problem loading the server. I am now having an issue with my memory map (I think). I am getting an error when starting up the first server on the dsp (from dsplink).

cmem initialized 9 pools between 0x87800000 and 0x88000000 DSPLINK Module (1.61.03) created on Date: Jun 23 2009 Time: 13:56:46 Assertion failed (cBytes != 0). File : /home/bgr/projects/cerberus/support/code1 Assertion failed (PMGR_MSGQ_IsInitialized == TRUE). File : /home/bgr/projects/c3 Unable to handle kernel NULL pointer dereference at virtual address 00000000

I think it is using the wrong memory area since the real failure here appears to be incorrect data in the memory table. One of the sizes appears as 0 causing the setup to fail, which then causes an Oops on shutdown freeing a NULL ptr.

I tried specifying the memory map in the application config as well.

@0,432,351us: [+2 T:0x40b02490 S:0x40b01d74] OP - Processor_create_d> Adding DSP segment #0 to Link configuration: name='DDR2', startAddress=0x8fa00000, sizeInBytes=0x400000, shared=1, syncd=0 @0,432,595us: [+2 T:0x40b02490 S:0x40b01d74] OP - Processor_create_d> Adding DSP segment #1 to Link configuration: name='DSPLINKMEM', startAddress=0x8fe00000, sizeInBytes=0x30000, shared=1, syncd=0 @0,432,803us: [+2 T:0x40b02490 S:0x40b01d74] OP - Processor_create_d> Adding DSP segment #2 to Link configuration: name='RESET_VECTOR', startAddress=0x8ff00000, sizeInBytes=0x80, shared=1, syncd=0 @0,433,007us: [+2 T:0x40b02490 S:0x40b01d74] OP - Processor_create_d> Adding DSP segment #3 to Link configuration: name='POOLMEM', startAddress=0x8fe30000, sizeInBytes=0xd0000, shared=1, syncd=0 @0,433,210us: [+2 T:0x40b02490 S:0x40b01d74] OP - Processor_create_d> Adding DSP segment #4 to Link configuration: name='DDRALGHEAP', startAddress=0x88000000, sizeInBytes=0x4000000, shared=0, syncd=0 @0,433,405us: [+2 T:0x40b02490 S:0x40b01d74] OP - Processor_create_d> DODSPCTRL was=1; now=0 @0,435,559us: [+0 T:0x4001fbc0 S:0xbedd298c] ti.sdo.ce.osal.Sem - Leaving Sem_post> sem[0x441c0] @0,435,874us: [+0 T:0x4001fbc0 S:0xbedd296c] ti.sdo.ce.osal.Sem - Entered Sem_pend> sem[0x441d8] timeout[0xffffffff]

Anyone had success with this version of dsplink on dm6446?
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to