I wanted to run a program in the SHARC cores where it is dynamically loaded into the core. The initial idea is to use the compiled dxe from Crosscore and use the ARM pushing the data so it will recreate the SHARC core memory. I am seeking advice how to best do this. I think there are couple of things that I need to understand to make this happen and please / comment on anything that I may need to make this possible.
1. Starting the SHARC. In the event I want to load the next dxe I want the SHARC core to not be executing any previous code. After the SHARC memory is recreated, what is the best way to restart the SHARC or better yet point to
run at a known PC counter.
2. DXE data interpretation. What document should I refer to so I can understand or interpret the dxe if they exist. I noticed that when running a SC58x project, there are 3 dxes running one for ARM, one for SHARC core 1 and SHARC core 2. My guess is that the dxe per core are orthogonal to the other core and each dxe will contain the necessary bits to recreate memory space.
3. Please clarify what really happens when the call adi_core_enable(ADI_CORE_SHARCx)? I am trying to locate what the function really does; I appreciate if you could point them to me. What I am getting at if I can use it as a possible answer to my item # 1 above.
4. Stopping the SHARC. Is there are recommended set of steps in safely stopping the SHARC so it will be ready to be
reloaded for the next dxe.
As a side note, I am working with Crosscore 2.2.0. Thanks in advance.