(OMAP_L137, codec engine)
I finally have SPI1 working, including the necessary timing for the SPI ADC and my background tasks (one of which handles data collection, and the other handles data-processing). Both are working. That is, the data are collected successfully and the pointer to the data is mailed to the second task, which processes it and "publishes" it, releasing the pointer. The SPI1 activity starts and ends and restarts as desired.
The part that no longer works is the ARM9 app's ability to talk to the DSP. That is, the app appears to have hung after kicking off the SPI data collection. I have verified that the codec _control function returned _EOK, but I believe that the app side never saw it. That is, I don't think the call on the app side ever returned.
I have verified that the stacks are okay (using less than 10% of the available). I was concerned that the background tasks were so busy that the codec (on the DSP) was no longer getting a time-slice, so I checked priorities, and the codec has priority 5 and the background tasks both have priority 1, so that isn't it.
I can run the same code with a memory-to-memory transfer via the DMA (rather than the SPI to memory transfer), with no problem (no buffer overflow, etc.) I can run the SPI transmit with the receive "disconnected" with no problem.
I know that the -L137 I have is old and has the SPI bug, but I was told that the bug would result in bad data, not hanging. If that isn't true, would someone let me know? Also, if anyone has debugged a similar behavior, please give me some hints. In the past when the app hung, it was because something bad had happened on the DSP side (overrunning buffers, etc). To minimize the chance of that, I've hard-coded the SPI transfer to 10 16-bit elements, even though the buffer is large enough to hold 10000.
I've checked the memory map, and the background task mailboxes hang out in the same region as DSPLINK_shmBaseAddress. Would posting too many messages to the mailboxes overflow the mailbox? Or would it just timeout?
Thanks for any help.