I am trying to run the EE377v02 MCAPI example on my SC589 custom board. The board also has an SC573, but I am just working with SC589 for the moment. I can create endpoints on both Sharc cores and I can capture an endpoint on Sharc2 from Sharc1, but I cannot send a message from Sharc1 to Sharc2 (or vice versa).
Sharc1 hangs at:
mcapi_msg_send(master_ep, slave_ep, &nSid, sizeof(nSid), 0, &mcapi_status);
Sharc2 hangs at:
mcapi_msg_recv(slave_ep, &nSid, sizeof(nSid), &RcvBytes, &mcapi_status);
I have seen that some people have had similar issues with MCAPI. I am using MCAPI version 2.15.
Btw, I was able to get a MCAPI link up between ARM and Sharc1. Problems arise when I introduce Shar2 into the picture.
Any suggestions would be much appreciated.
Moving to CrossCore Embedded Studio and Add-ins
From your query we understand that you are transferring data between ARM and SHARC cores. But in the example project in EE-337, ARM just initializes other peripherals and release SHARC1 and SHARC2 from reset.
Kindly provide us a project which helps us to simulate the issue in ADSP-SC589 ezkit. This will be helpful for us to assist you better
Best Regards,Santha kumari.K
Thanks for getting back to me. I found the root cause of my issue; the problem was that I was initialising MCAPI on core 2 inside a critical section, thus restricting access to MCAPI registers on core 2. When I removed the critical section, the driver functions worked and I was able to establish a MCAPI link between Sharc1 and Sharc2.
BTW, I am using EE-377, not EE-337.
Yes. It's EE-377. Thank you for notifying us the issue got resolved