This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

dsplink on wince basic application

Does anybody link together dsplink and wince application?

I builded sample application "message" and "readwrite" and they seemed run ok.

But then i tried to write simple console application for GPP.

I call in the _tmain() those functions:

PROC_setup ()

PROC_attach ()

PROC_load ()

PROC_start (processorId) ;

On the DSP side i have simple application "bios_led", it toggles led.

I call in main()

DSPLINK_init ()

When gpp application starts it successfully loads bios_led and starts it, but then it hangs.

This behaviour is well described in this post http://e2e.ti.com/support/embedded/linux/f/354/p/145131/527312.aspx#527312

The deadloop is exactly the same:

dsplink_linux_1_65_00_02\dsplink\gpp\src\ldrv\drv\Shm_drv.c

NORMAL_API
DSP_STATUS
SHMDRV_handshake (IN ProcessorId dspId,
IN Uint32 linkDrvId,
IN DRV_Handshake hshkCtrl)
{

......

/* Wait for DSP to write its handshake value. */
/* while ( (ctrlPtr->handshakeDsp != dspHandshake)
&& DSP_SUCCEEDED (status)) {
i ;
if ( (linkDrv->hshkPollCount != (Uint32) -1)
&& (i == linkDrv->hshkPollCount)) {
status = DSP_ETIMEOUT ;
SET_FAILURE_REASON ;
}*/

......

}

This is because expecting value of ctrlPtr->handshakeDsp is BABA01FF but actual value i get is BABA0103.

Can anybody post a simple example of how accurately configure DSPLink for WIN CE on DSP and GPP sides in minimum configuration including PROC and NOTIFY modules?

Thanks in advance

  • here is some trace output: 

    122896 PID:400002 TID:350000e DRV shared memory base symbol DSP address [0xc3e10d00]n
    122896 PID:400002 TID:350000e Expected DSP handshake value: [0xbaba01ff]
    124365 PID:400002 TID:350000e Actual DSP handshake value: [0xbaba0003]
    124366 PID:400002 TID:350000e DSP-side configuration mismatch/failure
    124366 PID:400002 TID:350000e 0 -> success
    124366 PID:400002 TID:350000e Positive value -> DSP-side failure code.
    124367 PID:400002 TID:350000e (Uint32) -1 -> DSP-side component was not initialized.

    124367 PID:400002 TID:350000e ProcId received : 0, Expected : 0
    124368 PID:400002 TID:350000e DRV configuration status [0x0]
    124368 PID:400002 TID:350000e IPS configuration status [0x1]
    124368 PID:400002 TID:350000e POOL configuration status [0x0]
    124369 PID:400002 TID:350000e MPCS configuration status [0xffffffff]
    124369 PID:400002 TID:350000e MPLIST configuration status [0xffffffff]
    124369 PID:400002 TID:350000e MQT configuration status [0xffffffff]
    124370 PID:400002 TID:350000e DATA configuration status [0x0]
    124370 PID:400002 TID:350000e RINGIO configuration status [0xffffffff]
    124371 PID:34f000e TID:350000e Status: 80008052

    What is wrong?