Hello
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 main() 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 on DSP and GPP sides in minimum configuration including PROC and NOTIFY modules?
Thanks in advance
PS
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