Hi,
I'm wondering, if one core could debug another one on the same or another cluster in an MP/BigLitte system ?
The use case would be a kernel debugger and the debug app running on a core, and the app to be debugged running on another core/cluster (or group of cores) exclusively reserved for debugging this app.
Does the CP14 debug interface support such a scenario?
Can a core use the functions that an external JTAG device uses?
Axel
Hi Axel,
Were you able to figure that out?
Best Regards,
Alejandro
So far I have no answer here. But also, I did not spend too much time in investigating this further.
Given that I'm into some ARMv8 work now, I'll have another look how things work there...
In theory, the answer is yes: if the system designers exposed the memory-mapped view of at least a CTI which connects to the core, and the memory-mapped external debug interface for the core, in order that other cores could access it, then it's possible to do so. With the CTI you can set a trigger to halt the core, and then access the EDITR and DCC registers to move instructions and data through the core -- from another core.
It isn't something that is baked into every ARM core, it is a function of the SoC design so you'll have to go look up some documentation on whether the debug logic and the rest of the CoreSight subsystem (for the CTIs) is exposed in the system memory map and accessible.
Ta,
Matt