I have a multiple threaded server app running on omap3530 dsp. Its based off one of the sample programs. I forget which at this point. Both Arm and DSP are cache enabled.
Initialization of both sides seems to be AOK. I have a very simple test command to send a ping to the dsp and get the message looped back to the arm.
It will work sometimes once and then crash, sometimes several iterations and then crash. The crash is an abort exception in LIST_putTail() from inside LDRV_PutMsg().
I can see the message created correctly in POOLMEM section where I would expect it. It comes back as expected. When all is good, LDRV does it thing and ny handler MSGQ_get() is activated and I handle the message. When it goes bad, the same happen except before my MSGQ-get() wakes up, the LDRV is processing another message. This one is apparently in the DSPLINKMEM section and has nonsense for contents. I have seen the MsgId field as both 0xff00 and 0xFb00. PoolId is 0. Transport?
I have commented all but one thread to simplify things. I am stumped. I will post shots of the message contents tomorrow.
thanks
Dave


