In the project I am working, I am running a Real Time Kernel on the Primary Core(uCoS-III) and use Secondary Core as BareMetal for Algorithm Execution and delegate algorithm execution job to the second core with software generated interrupts.
My Problem, or observation is that when I am connected to the device with DS5 via DStream, the algorithm I delegated to the secondary core lasts around 300 ms. When I disconnect and let the code continue to run, I observe through ethernet that the execution of my algorithm lasts 100 ms(which is the duration I expected). Why is there such a difference? Any ideas? Even though everything works fine when I write the elf file to the flash and run it without connecting the DS-5, I wonder why such a phenomena occurs.
Thanks a lot,
Do you have some real-time displaying of variables? Though DAP should act in parallel it might cause some bus-congestion.
Yes, it would be worthwhile knowing a bit more about the set-up in use here.
Also, the act of connecting the debugger to the target (& leaving everything running) means that the debugger (ok, the DSTREAM unit here) will poll the target periodically for any change in state. But this would be happening via the debug APB bus via the DAP and shouldn't interfere with the general application running.
But like 42Bastian Schick mentioned, have you got any memory windows up that are being refreshed periodically within DS-5 because they could be causing some bus contention if you were trying to read, say 2KB of some shared mem buffer every 1s,....
Just a thought.
Sorry for my late reaction. I was on a vacation and didnt see your remarks.
There shouldn't be any window left open that displays the memory content or variables. But, I will double check and return as soon as possible.
View all questions in Cortex-A / A-Profile forum