Hello,
I have a project in which I run the beginning of my code on core 2 then core 0 takes over to do the rest of the code. However, I want to skip part of core 2 when I perform a target reset with Trace 32. To do this, I perform the following script:
// I assign cores 0 and 2 in multicore
SYSTEM.DETECT.CPU
CORE.ASSIGN 1. 3.
SYSTEM.ATTACH
// I select core 2 to begin
CORE.SELECT 1
// I reset the target
SYSTEM.RESETTARGET
// I set a breakpoint at the beginning of the code I want to skip
BREAK.DIRECT FUNCTION_OF_CORE_2+0x6E /Program
// I start the cowe to let the code run untul the code to skip
GO
WAIT !RUN()
// I move PC to the end of part to skip
REGISTER.SET PC FUNCTION_OF_CORE_2+0x14E
// Then I re-run the code which goes in core 0
GO
// I display core 0 and set a breakpoint in main while function
CORE.SELECT 0
LIST /CORE 0
BREAK.SET BREAKPOINT_AT_THE_BEGINNING_OF_CODE_OR_CORE_0 /CORE 0
However, this script is problematic because the core selection change from core 2 to core 0 of Trace32 takes a little time and I miss the beginning of the code runned by core 0. I tried to start the code of core 2 by having already selected core 0 on Trace32 with GO /CORE 1 but it shows me Emulation Running.
Do you have any idea how I could solve my problem ? Like setting a breakpoint at the beginning of code runned by core 0
Thank you very much
Comments (3)