Is there a way to put a breakpoint in trace32, when a particular core executes a statement.
I have a quad-core cortex-a7
board (raspberry pi 2). I am able to connect to it, put breakpoints (only for core 0 right now), but i want trace32 to hit the breakpoint only when a particular core executes the breakpoint code. Say for e.g. core 3 executes it.
Presently breakpoint is hit only with core-0. I have written a simple program, that outputs 0-9 to the UART. Also when i run any program inside trace32, by loading it directly to RAM, only core 0 seems to be executing, and it repeatedly goes into "stopped by vector catch", but when i try it by loading the program in sdcard/flash memory, all four cores seem to be executing.
I have checked the uart output, by both activating other cores and deactivating them, and it seems the cores do get activated and deactivated accordingly.
The uart output when the core is deactivated is proper/in order (printing a series from 0 to 9), when the cores are active, its mixed (print of 0-9 are not in order
), proving my assumption.
Also when it stops at a breakpoint for core 0, if i select other cores from the drop down menu in trace32 status bar, the other cores are executing different statements. i.e. The pc is different for different cores.
I tried using conditional breakpoints, something like
break.set myfunc\7 /COND core()==3
but that seems to be not working.
Any help appreciated. Thanks in advance