I've been working with the EVM OMAP-L137 using SYS/BIOS 6 and CCSv5 for some time now, and I got most of the PSP working; I can serve web pages from the C6747 using the NSP/NDK and use GPIO. Now I've been trying to get the McASP driver from PSP 1.30 to work on SYS/BIOS 6 with less success; when I try to run the McASP demo master, I get the following output:
[C674X_0] Mcasp EVM-EVM Sample application.
Non primed Mode testing..
TX Done
Check slave for the data receive status
Primed Mode testing......
after which the program hangs waiting for a semaphore in SIO_reclaim() in the main task. I have also tried running the demo in CCStudio 3.3, but that won't let me load the binary onto the C6747; it complains about the image being for a different target (which I find very strange, since it is supposed to be specifically built for the evmOMAPL137).
Running the demo from CCSv5 with SYS/BIOS6, when I attach a logic analyzer to EXP_ACLKX1 or EXP_AXR1[5] it doesn't show any activity, leading me to believe the McASP is not doing anything at all, but I have no clue why.
To configure the EDMA3 i have used the edma3_lld_02_11_06_01 package, in combination with bios_edma3_drv_sample_omapl137_cfg.c, bios_edma3_drv_sample.h, bios_edma3_drv_sample_init.c and bios_edma3_drv_sample_cs.c from that same package copied into my project folder. And ofcourse to make it all compile, some modifications were made to the include paths in those files as well as the mcasp driver.
I was hoping that someone could provide me some guidance as to how to debug this situation; as it is, it appears to simply not work without giving me any error messages or other clues as to what's wrong.
EDIT: When I attach a scope to the EXP_ACLKX1 pin, I do see a signal that looks like a clock, but at an amplitude of only 75mV. I've checked the relevant registers; in PINMUX9, PINMUX9_15_12 is set to ACLKX0, and in PDIR ACLKX is set to OUTPUT. This should be enough to expose the clock on the EVM 'audio expansion' header on pin 58, right?
EDIT 2: The low voltage was due to a buffer being disabled when pin 74 on the audio expansion connector is not connected. I've patched this with a wire bridge and am now seeing a 3.3V square wave at 4.8MHz. So I guess the McASP is working. How to proceed from here?
EDIT 3: Some more info that might be useful for debugging this problem: with a scope attached to AXR1[5], ACLKX1 and AFSX1, all signals seem to be fine during the 'non primed mode testing'; it looks like it's transmitting frames of data (although I have no way of verifying that the data is correct). When the 'primed mode testing' starts, the activity LED turns off after a while and AFSX1 and AXR1[5] do not show any activity anymore. ACLX1 keeps going just like it was in 'non primed mode'.
EDIT 4: It came to my attention that after prime() is called the very first time, the EDMA3 IPR shows that interrupt 3 is pending. This bit is never reset until the system is restarted. As of yet I have no idea whether this is normal behaviour, or what interrupt 3 signals. I guess I will look into this after the weekend.