Hi,
I am new to this multiprocessor enviornment and seek some information about DSPLink. I want to establish communication between OMAP ARM gpp and its DSP on my custom OMAP3530 based board. I make the MESSAGE sample DSP and GPP, and run it, but there have some errors.
The First Run CMD: messagegpp message.out 10 0
========== Sample Application : MESSAGE ==========
Entered MESSAGE_Create ()
Entered PROC_setup ()
linkCfg [0x0]
Entered DRV_Initialize ()
drvObj [0x1d640]
arg [0x0]
LINK: DRV_Initialize: DspLink driver handle created 0x4A0803
Leaving DRV_Initialize () status [0x8000]
Entered DRV_ProtectInit ()
drvObj [0x302e0]
Leaving DRV_ProtectInit () status [0x8000]
Entered DRV_ProtectEnter ()
drvObj [0x302e0]
Leaving DRV_ProtectEnter () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c01]
arg1 [0x2fb2c]
arg2 [0x0]
Entered DRV_installCleanupRoutines ()
linkCfgPtr [0x1d080]
Leaving DRV_installCleanupRoutines ()
osStatus: 1
Entered _POOL_init ()
Leaving _POOL_init ()
Status: 8000
DRV_Invoke: cmd 0x6C01, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered _MEM_USR_init ()
Leaving _MEM_USR_init () status [0x8000]
Entered _IDM_USR_init ()
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7351]
arg1 [0x2fb0c]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7351, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _IDM_USR_init () status [0x8000]
Entered _SYNC_USR_init ()
Entered _IDM_USR_create ()
key [0x10080]
attrs [0x2fb1c]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7353]
arg1 [0x2faf8]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7353, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _IDM_USR_create () status [0x8000]
Leaving _SYNC_USR_init () status [0x8000]
Entered _SYNC_USR_createCS ()
idKey [0x123e8]
csObj [0x1d648]
Entered _IDM_USR_acquireId ()
key [0x10080]
idKey [0x123e8]
id [0x2f904]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7355]
arg1 [0x2f8dc]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7355, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _IDM_USR_acquireId () status [0x8000]
Leaving _SYNC_USR_createCS () status [0x8000]
Entered DRV_ProtectLeave ()
drvObj [0x302e0]
Leaving DRV_ProtectLeave () status [0x8000]
Entered PROC_resetCurStatus ()
Leaving PROC_resetCurStatus ()
Leaving PROC_setup () status [0x8000]
Entered PROC_attach ()
procId [0x0]
attr [0x0]
Entered DRV_Initialize ()
drvObj [0x1d640]
arg [0x0]
Entered _SYNC_USR_enterCS ()
csObj [0x30360]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered _SYNC_USR_leaveCS ()
csObj [0x30360]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving DRV_Initialize () status [0x8000]
Entered _SYNC_USR_enterCS ()
csObj [0x30360]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c08]
arg1 [0x2fb24]
arg2 [0x0]
LINK: DRV_Invoke: CMD_PROC_ATTACH: Success!
Status: 8000
DRV_Invoke: cmd 0x6C08, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered _MPCS_init ()
procId [0x0]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7201]
arg1 [0x2faf0]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7201, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered _MPCS_open ()
procId [0x0]
name [0x139c0]
mpcsHandle [0x1dd9c]
mpcsShObj [0x80d80]
Entered _MPCS_OS_open ()
procId [0x0]
name [0x139c0]
mpcsHandle [0x1dd9c]
mpcsShObj [0x80d80]
Entered _MEM_USR_calloc ()
ptr [0x1dd9c]
bytes [0x10]
_MEM_USR_calloc *ptr [0x30380]
Leaving _MEM_USR_calloc () status [0x8000]
Entered _SYNC_USR_createCS ()
idKey [0x139c0]
csObj [0x30384]
Entered _IDM_USR_acquireId ()
key [0x10080]
idKey [0x139c0]
id [0x2f874]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7355]
arg1 [0x2f84c]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7355, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _IDM_USR_acquireId () status [0x8000]
Leaving _SYNC_USR_createCS () status [0x8000]
Leaving _MPCS_OS_open () status [0x8000]
Leaving MPCS_open () status [0x8000]
Leaving _MPCS_init () status [0x8000]
Entered _MPLIST_moduleInit ()
procId [0x0]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7321]
arg1 [0x2faf8]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7321, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Exception 'Data Abort' (4): Thread-Id=058b0006(pth=90097a70), Proc-Id=058a0006(pprc=900976ac) 'messagegpp.EXE', VM-active=058a000'
PC=0001aa9c(messagegpp.EXE+0x0000aa9c) RA=0001aa70(messagegpp.EXE+0x0000aa70) SP=0002faf4, BVA=00000000
The DSPStatus is right, but why throw the exception?
The Second Run:messagegpp message.out 10 0
========== Sample Application : MESSAGE ==========
Entered MESSAGE_Create ()
Entered PROC_setup ()
linkCfg [0x0]
Entered DRV_Initialize ()
drvObj [0x1d640]
arg [0x0]
LINK: DRV_Initialize: DspLink driver handle created 0x4A0903
Leaving DRV_Initialize () status [0x8000]
Entered DRV_ProtectInit ()
drvObj [0x302e0]
Leaving DRV_ProtectInit () status [0x8000]
Entered DRV_ProtectEnter ()
drvObj [0x302e0]
Leaving DRV_ProtectEnter () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c01]
arg1 [0x2fb30]
arg2 [0x0]
Entered DRV_installCleanupRoutines ()
linkCfgPtr [0x1d080]
Leaving DRV_installCleanupRoutines ()
osStatus: 1
Entered _POOL_init ()
Leaving _POOL_init ()
Status: 8007
DRV_Invoke: cmd 0x6C01, DSPStatus 0x8007Leaving DRV_Invoke DSPStatus 0x8007 () status [0x2ff00]
Entered _SYNC_USR_init ()
Leaving _SYNC_USR_stateObjInit () status [0x8000]
Entered _SYNC_USR_createCS ()
idKey [0x123e8]
csObj [0x1d648]
Entered _IDM_USR_acquireId ()
key [0x10080]
idKey [0x123e8]
id [0x2f908]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7355]
arg1 [0x2f8e0]
arg2 [0x0]
Status: 8005
DRV_Invoke: cmd 0x7355, DSPStatus 0x8005Leaving DRV_Invoke DSPStatus 0x8005 () status [0x2ff00]
Leaving _IDM_USR_acquireId () status [0x8005]
Leaving _SYNC_USR_createCS () status [0x8005]
Entered DRV_ProtectLeave ()
drvObj [0x302e0]
Leaving DRV_ProtectLeave () status [0x8000]
Entered PROC_resetCurStatus ()
Leaving PROC_resetCurStatus ()
Leaving PROC_setup () status [0x8007]
Entered PROC_attach ()
procId [0x0]
attr [0x0]
Entered DRV_Initialize ()
drvObj [0x1d640]
arg [0x0]
Entered _SYNC_USR_enterCS ()
csObj [0x30340]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered _SYNC_USR_leaveCS ()
csObj [0x30340]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving DRV_Initialize () status [0x8000]
Entered _SYNC_USR_enterCS ()
csObj [0x30340]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c08]
arg1 [0x2fb28]
arg2 [0x0]
LINK: DRV_Invoke: CMD_PROC_ATTACH: Success!
Status: 8001
DRV_Invoke: cmd 0x6C08, DSPStatus 0x8001Leaving DRV_Invoke DSPStatus 0x8001 () status [0x2ff00]
Entered _MPCS_init ()
procId [0x0]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7201]
arg1 [0x2faf4]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7201, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered _MPCS_open ()
procId [0x0]
name [0x139c0]
mpcsHandle [0x1dd9c]
mpcsShObj [0x80d80]
Entered _MPCS_OS_open ()
procId [0x0]
name [0x139c0]
mpcsHandle [0x1dd9c]
mpcsShObj [0x80d80]
Entered _MEM_USR_calloc ()
ptr [0x1dd9c]
bytes [0x10]
_MEM_USR_calloc *ptr [0x30360]
Leaving _MEM_USR_calloc () status [0x8000]
Entered _SYNC_USR_createCS ()
idKey [0x139c0]
csObj [0x30364]
Entered _IDM_USR_acquireId ()
key [0x10080]
idKey [0x139c0]
id [0x2f878]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7355]
arg1 [0x2f850]
arg2 [0x0]
Status: 8005
DRV_Invoke: cmd 0x7355, DSPStatus 0x8005Leaving DRV_Invoke DSPStatus 0x8005 () status [0x2ff00]
Leaving _IDM_USR_acquireId () status [0x8005]
Leaving _SYNC_USR_createCS () status [0x8005]
Leaving _MPCS_OS_open () status [0x8005]
Leaving MPCS_open () status [0x8005]
Leaving _MPCS_init () status [0x8005]
Entered _MPLIST_init ()
procId [0x0]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7321]
arg1 [0x2fb00]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7321, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered _MPCS_open ()
procId [0x0]
name [0x13a54]
mpcsHandle [0x1dd7c]
mpcsShObj [0x90f80]
Entered _MPCS_OS_open ()
procId [0x0]
name [0x13a54]
mpcsHandle [0x1dd7c]
mpcsShObj [0x90f80]
Entered _MEM_USR_calloc ()
ptr [0x1dd7c]
bytes [0x10]
_MEM_USR_calloc *ptr [0x303a0]
Leaving _MEM_USR_calloc () status [0x8000]
Entered _SYNC_USR_createCS ()
idKey [0x13a54]
csObj [0x303a4]
Entered _IDM_USR_acquireId ()
key [0x10080]
idKey [0x13a54]
id [0x2f884]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7355]
arg1 [0x2f85c]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7355, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _IDM_USR_acquireId () status [0x8000]
Leaving _SYNC_USR_createCS () status [0x8000]
Leaving _MPCS_OS_open () status [0x8000]
Leaving MPCS_open () status [0x8000]
Leaving _MPLIST_init () status [0x8000]
Entered _SYNC_USR_leaveCS ()
csObj [0x30340]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving PROC_attach () status [0x8001]
Entered POOL_open ()
poolId [0x0]
params [0x1d020]
Entered _SYNC_USR_enterCS ()
csObj [0x30340]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7101]
arg1 [0x2fb20]
arg2 [0x0]
LINK: DRV_Invoke: CMD_POOL_OPEN Physical 0x87F30000 mapped to 0xA0000, size 0xd0000
LINK: DRV_Invoke: CMD_POOL_OPEN UsrAddr 0xA0000 PhyAddr 0x87F30000 VirtAddr 0xD60F0000 DspAddr 0x87F30000
Status: 8000
DRV_Invoke: cmd 0x7101, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered _SYNC_USR_leaveCS ()
csObj [0x30340]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving POOL_open () status [0x8000]
Entered MSGQ_open ()
queueName [0x1d030]
msgqQueue [0x1d070]
attrs [0x0]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6f03]
arg1 [0x2fb30]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x6F03, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving MSGQ_open () status [0x8000]
Entered MSGQ_setErrorHandler ()
errorQueue [0x10000]
poolId [0x0]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6f0c]
arg1 [0x2fb34]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x6F0C, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving MSGQ_setErrorHandler () status [0x8000]
Entered PROC_load ()
procId [0x0]
imagePath [0x3032d]
argc [0x1]
argv [0x2fb58]
Entered _SYNC_USR_enterCS ()
csObj [0x30340]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c05]
arg1 [0x2fb20]
arg2 [0x0]
Error opening file message.out, error: 2
Status: 80008009
DRV_Invoke: cmd 0x6C05, DSPStatus 0x80008009Leaving DRV_Invoke DSPStatus 0x80008009 () status [0x2ff00]
Failure: Status:[0x80008009] File:[0x200] Line:[909]
Entered _SYNC_USR_leaveCS ()
csObj [0x30340]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving PROC_load () status [0x80008009]
PROC_load () failed. Status = [0x80008009]
Leaving MESSAGE_Create ()
Entered MESSAGE_Delete ()
Entered MSGQ_release ()
msgqQueue [0xffff]
Leaving MSGQ_release () status [0x8000800b]
MSGQ_release () failed. Status = [0x8000800b]
Entered MSGQ_transportClose ()
procId [0x0]
Entered _SYNC_USR_enterCS ()
csObj [0x30340]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered _SYNC_USR_leaveCS ()
csObj [0x30340]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving MSGQ_transportClose () status [0x80008000]
Entered PROC_stop ()
procId [0x0]
Entered _SYNC_USR_enterCS ()
csObj [0x30340]
Leaving _SYNC_USR_enterCS () status [0x8000]
Failure: Status:[0x80008000] File:[0x200] Line:[1175]
Entered _SYNC_USR_leaveCS ()
csObj [0x30340]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving PROC_stop () status [0x80008000]
Entered MSGQ_setErrorHandler ()
errorQueue [0xffff]
poolId [0xffff]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6f0c]
arg1 [0x2fb44]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x6F0C, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving MSGQ_setErrorHandler () status [0x8000]
Entered MSGQ_close ()
msgqQueue [0x10000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6f04]
arg1 [0x2fb48]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x6F04, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving MSGQ_close () status [0x8000]
Entered POOL_close ()
poolId [0x0]
Entered _SYNC_USR_enterCS ()
csObj [0x30340]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7102]
arg1 [0x2fb34]
arg2 [0x0]
LINK: DRV_Invoke: CMD_POOL_CLOSE Unmapped UsrAddr 0xA0000, Size 0xD0000
Status: 800d
DRV_Invoke: cmd 0x7102, DSPStatus 0x800DLeaving DRV_Invoke DSPStatus 0x800D () status [0x2ff00]
Entered _SYNC_USR_leaveCS ()
csObj [0x30340]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving POOL_close () status [0x800d]
Entered PROC_detach ()
procId [0x0]
Entered _SYNC_USR_enterCS ()
csObj [0x30340]
Leaving _SYNC_USR_enterCS () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c0f]
arg1 [0x2fb38]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x6C0F, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered _MPLIST_exit ()
procId [0x0]
Entered MPCS_close ()
procId [0x0]
mpcsHandle [0x303a0]
Entered MPCS_enter ()
mpcsHandle [0x30360]
Entered _MPCS_OS_enter ()
procId [0x0]
mpcsHandle [0x30360]
Entered _SYNC_USR_enterCS ()
csObj [0x30380]
Leaving _SYNC_USR_enterCS () status [0x8000]
Leaving _MPCS_OS_enter () status [0x8000]
Leaving MPCS_enter () status [0x8000]
Entered _MPCS_OS_close ()
procId [0x0]
mpcsHandle [0x303a0]
Entered _SYNC_USR_deleteCS ()
csObj [0x303a4]
Entered _IDM_USR_releaseId ()
key [0x10080]
id [0x2]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7356]
arg1 [0x2faa4]
arg2 [0x0]
Status: 8006
DRV_Invoke: cmd 0x7356, DSPStatus 0x8006Leaving DRV_Invoke DSPStatus 0x8006 () status [0x2ff00]
Leaving _IDM_USR_releaseId () status [0x8006]
Leaving _SYNC_USR_deleteCS () status [0x8006]
Entered _MEM_USR_free ()
ptr [0x2faec]
Leaving _MEM_USR_free () status [0x8000]
Leaving _MPCS_OS_close () status [0x8006]
Entered MPCS_leave ()
mpcsHandle [0x30360]
Entered _MPCS_OS_leave ()
procId [0x0]
mpcsHandle [0x30360]
Entered _SYNC_USR_leaveCS ()
csObj [0x30380]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving _MPCS_OS_leave () status [0x8000]
Leaving MPCS_leave () status [0x8000]
Leaving MPCS_close () status [0x8006]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7322]
arg1 [0x2fb0c]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7322, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _MPLIST_exit () status [0x8006]
Entered _MPCS_exit ()
procId [0x0]
Entered MPCS_close ()
procId [0x0]
mpcsHandle [0x30360]
Entered _MPCS_OS_close ()
procId [0x0]
mpcsHandle [0x30360]
Entered _SYNC_USR_deleteCS ()
csObj [0x30364]
Entered _IDM_USR_releaseId ()
key [0x10080]
id [0x1]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7356]
arg1 [0x2faa0]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7356, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _IDM_USR_releaseId () status [0x8000]
Leaving _SYNC_USR_deleteCS () status [0x8000]
Entered _MEM_USR_free ()
ptr [0x2fae8]
Leaving _MEM_USR_free () status [0x8000]
Leaving _MPCS_OS_close () status [0x8000]
Leaving MPCS_close () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7202]
arg1 [0x2fb08]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7202, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _MPCS_exit () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c07]
arg1 [0x2fb38]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x6C07, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered DRV_Finalize ()
drvObj [0x302e0]
arg [0x0]
Leaving DRV_Finalize () status [0x8000]
Entered _SYNC_USR_leaveCS ()
csObj [0x30340]
Leaving _SYNC_USR_leaveCS () status [0x8000]
Leaving PROC_detach () status [0x8000]
Entered PROC_destroy ()
Entered DRV_ProtectEnter ()
drvObj [0x302e0]
Leaving DRV_ProtectEnter () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c0e]
arg1 [0x2fb40]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x6C0E, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered _SYNC_USR_deleteCS ()
csObj [0x1d648]
Entered _IDM_USR_releaseId ()
key [0x10080]
id [0x0]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x7356]
arg1 [0x2fb0c]
arg2 [0x0]
Status: 8000
DRV_Invoke: cmd 0x7356, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Leaving _IDM_USR_releaseId () status [0x8000]
Leaving _SYNC_USR_deleteCS () status [0x8000]
Entered DRV_Invoke ()
drvObj [0x302e0]
cmdId [0x6c02]
arg1 [0x2fb40]
arg2 [0x0]
Entered _POOL_exit ()
Leaving _POOL_exit ()
Status: 8000
DRV_Invoke: cmd 0x6C02, DSPStatus 0x8000Leaving DRV_Invoke DSPStatus 0x8000 () status [0x2ff00]
Entered DRV_ProtectLeave ()
drvObj [0x302e0]
Leaving DRV_ProtectLeave () status [0x8000]
Entered DRV_Finalize ()
drvObj [0x302e0]
arg [0x0]
Leaving DRV_Finalize () status [0x8003]
Leaving PROC_destroy () status [0x8000]
Leaving MESSAGE_Delete ()
====================================================
I track the function:
NORMAL_API
DSP_STATUS
PROC_load (IN ProcessorId procId,
IN Char8 * imagePath,
IN Uint32 argc,
IN Char8 ** argv)
{
............
status = DRV_INVOKE (DRV_handle, CMD_PROC_LOAD, &args) ;
............
}
But I have not found the processing branch for CMD_PROC_LOAD(0x6c05) in the function:
NORMAL_API
DSP_STATUS
DRV_Invoke (IN DRV_Object * drvObj,
IN Uint32 cmdId,
IN OUT Pvoid arg1,
IN OUT Pvoid arg2)
{
............
}
The version of my tools:
DSP/BIOS LINK v1.65.00.02
1. CGTools v6.1.15
2. DSP/BIOS v 5.41.07
3. XDCTools v3.20.03
4. Windows Embedded CE 6.0 including Visual Studio 2005 + Platform Builder R3
5. WinCE BSP for OMAP3530 BSquare BSP v6.12