Breakpoints (S/H) could not be invoked when EL2 return EL1

Hi guys,

I use the DS-5 to debug R52, and i found that it could not be broken during entering EL1 from EL2. I tried with the R52 sample code, and got the same result.

Following is my step using the debugger:

1. connect the R52 debugger

2. set break point at EL2_Reset_handler  and EL1_Reset_handler --- refer to the 'startup-Cortex-R52' Sample code.

3. Press F8 to start trace, and it could stop at El2_Reset_handler

4. Press F8 to continue, but it could not stop  on EL1_Reset_handler

Could give some suggestions, pls?

Thanks,

George

Parents
No Data
Reply
  • Hi 'freshmen'

    I can't reproduce the problem you see with the Cortex-R52 example "out of the box" when running on the Cortex-R52 FVP model.  I see EL2_Reset_Handler and EL1_Reset_Handler both being hit as expected - see first screenshot below.

    However, I can reproduce what you see if I modify the debug configuration, and either remove or untick the "Execute debugger commands" for
    add-symbol-file "${workspace_loc:/startup_Cortex-R52/startup_Cortex-R52.axf}" N:0

    This command is necessary because the debugger needs to have copies of debug symbols for all ELs that the code might stop in. This command loads debug symbols for Normal ("N") world.  Without it, the debugger can't stop in Normal world (EL1).

    Please can you check whether you have this command present?  See second screenshot below

Children
No Data