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