Hi,
I'm currently working on my diploma thesis about in system debug possibilities for the C6678 Multicore DSP. My plan is to use one designated core (e.g. Core0) for a few low priority tasks and profiling of the system, while the other 7 cores run the main program.
Since we have very strict real-time constraints for our system, it would be really helpfull to get some information about the runtime and execution of the tasks on the different cores without disturbing the execution of the tasks. In other words, I want to profile my whole system, but the profiling on all but 1 core must be non-intrusive. All the data collection should be done on only one core.
To achieve this I plan to use the Embedded Trace Buffers of all cores and the system to collect information. I intend to use Core0 to preriodically read alle the ETBs and send it to a host PC e.g. over Ethernet.
So far the plan. Now I have a few question:
1. is it possible to configure all ETBs by one core (e.g. Core0)
2. is it possible to direct the interrupts (ETB half-full & ETB full) of all ETBs to one Core?
3. is one core able to read all the other ETBs of the system and the other cores without disturbing the executioin on the other cores? Or is it possible to initiate DMA-Transfers from the different ETBs to a shared memory reagion?
4. are their any libraries available to achieve this?
5. any other ideas/proposals for a non-intrusiv profiling of a multi-core system?
Regards
Fabian