Hello folks,
I wanted to demo a Video Source component to Video Sink component tunneling application running on the Cortex A8 host using sdk 05_00_00_09 on a Netra DDR2 board. For this demo i did not need the M3 processor, and so i modified the VS2 demo application as follows:
1. Called the function OMX_SSILC1_Test from omx_src_sink_ilc.c and commented out OMX_HDVPSS_MicroChain_Test and BKTMGR_start in ducati_mmsw_main_ca8.c.
2. Changed the vsrc and vsnk component's name passed to the GetHandle in OMX_SSILC1_Test to use the #define'd string as specified in each component's omx_xxx.h header file, as i noticed that for e.g. VSRC's component name was specified as "OMX.TI.VPSSM3.VSRC.VM3" instead of "OMX.TI.DUCATI.VSRC.VID"
3. Added vsrc to the list of components specified under COMP_LIST_a8host in the vs2's makefile, i.e.COMP_LIST_a8host = cmux dmux omxbase omxcore domx vsnk timmosal omxutils vsrc
4. I did notice that in this version of the sdk i.e. 5.0.0.9 (as opposed to the 5.0.0.8 pre-alpha1) there was no CortexA8AppMain.cfg file to use as input to XDC_CFG_FILE_a8host in the makefile, so i added this file to the vs2 demo, and increased heapStdParams.size to 0x00600000.
5. Then set "XDC_CFG_FILE_a8host = CortexA8AppMain.cfg" in the vs2 makefile
6. Sprinkled a few prints in the OMX_SSILC1_Test function to see what stages were executed successfully
7. Changed IPC_MODE in app_properties.mk to remoteWithHost
8. Changed the following vsrc and vsnk DOMX_CORE_xxx definitions in app_cfg.h FROM
/* Component 8 */
#define DOMX_CORE_vsrc_m3video /* Signifies that vsrc runs on video-M3 core */
/* Component 9 */
#define DOMX_CORE_vsnk_m3video /* Signifies that vsnk runs on video-M3 core */
TO
/* Component 8 */
#define DOMX_CORE_vsrc_a8host /* Signifies that vsrc runs on host-A8 core */
/* Component 9 */
#define DOMX_CORE_vsnk_a8host /* Signifies that vsnk runs on host-A8 core */
I insmod'd the syslink.ko and received the following output:
SysLink version : 02.00.00.66_alpha2
SysLink module created on Date:Mar 22 2011 Time:17:42:21
Entered KnlUtilsDrv_initializeModule
traceMask value: 0x0
Leaving KnlUtilsDrv_initializeModule 0x0
But when i ran the vs2 app that was built, the following output was observed. I added a few printfs to some of the ti/syslink/ipc/hlos/usr source files to print some additional info out that may be useful for debugging:
SDK VS Demo
===+=======
Before start cb enter key to continue.................
Before start cb enter key to continue.................
Wait for VM3 to to create the server first
Entering 2: OMX_SSILC1_Test
Connect CCS & press enter
VSRC.A8 Created and loaded, eError=0
VSNK.A8 Created and loaded, eError=0
Tunnel Setup between VSRC.A8 and VSNK.A8, eError=0
Entered PropTunnelTestEventHandler (0x17c12d8, ...)
Ports on VSRC.A8 Enabled.
Entered PropTunnelTestEventHandler (0x17c4890, ...)
Ports on VSNK.A8 Enabled.
Transition VSNK to Idle, eError=0
Transition VSRC to Idle, eError=0
GateMPDrv_ioctl GateMPDrv_refCount=1 status=0
GateMP_Params_init: GateMPDrv_ioctl (CMD_GATEMP_PARAMS_INIT, status=0
GateMPDrv_ioctl GateMPDrv_refCount=1 status=0
GateMP_sharedMemReq GateMPDrv_ioctl (CMD_GATEMP_SHAREDMEMREQ, sharedAddr=0x0, status=0, retVal=640
GateMPDrv_ioctl GateMPDrv_refCount=1status=0
GateMP_sharedMemReq GateMPDrv_ioctl (CMD_GATEMP_SHAREDMEMREQ, sharedAddr=0x0, status=0, retVal=640
_FrameQBufMgr_create: clientMgrParams.sharedAddr=0x40acb000
GateMPDrv_ioctl GateMPDrv_refCount=1 status=-1
GateMP_openByAddr GateMPDrv_ioctl (CMD_GATEMP_OPENBYADDR, sharedAddr=0x40acb000, index=0, status=-1
Assertion at Line no: 3482 in /mnt/wormhole/home/developer/Workspace/omons-3rdparty/ti/netra/sdk/branches/05_00_00_09/syslink_02_00_00_66/ti/syslink/ipc/hlos/usr/FrameQBufMgr.c: (status >= 0) : failed
Not sure at this point if this is a memory allocation related issue or something else. Anys tips and suggestions would be greatly appreaciated. Thankyou!