Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.

We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.

Thank you for your understanding.


This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Breakpoints not working in C code, only in assembly?

I am running some example program in ARM Development Studio using FVP (fixed virtual platforms) simulator for A53. 

All is OK, I can run the app.

However, the problem is the breakpoints: they don't work in C code, the work only in .S files assembly. 

What could be the problem? 

Model parameters are -C bp.secure_memory=false -C cache_state_modelled=0. 

Parents Reply Children
  • The startup_Cortex-R52 example comes with a ready-made debug launcher that already contains the command you require:
    add-symbol-file "${workspace_loc:/startup_Cortex-R52/startup_Cortex-R52.axf}" N:0

    Processors that support the AArch64 instruction set, such as Cortex-A53, have Exception Levels 0 to 3 - see developer.arm.com/.../Privilege-and-Exception-levels
    The Cortex-R52, which supports the AArch32 instruction set, also has ELs, but these map to AArch32 modes: EL2 (Hypervisor), EL1 (SVC, SYS, FIQ, IRQ, SVC, ABT, UNDEF) and EL0 (User).

    In Arm DS Debugger commands, EL2 (Hypervisor) is represented by the address space prefix: "H:", and the other modes by "N:" (c.f. Non-secure).

    You can use the "H:" and "N:" address space prefixes in front of any address, for example, when loading symbols (e.g. with the add-symbol-file command example above), or when specifying a memory address in the Memory view, or when specifying a breakpoint, e.g.:
    break N:compare_sorts

    The Address Spaces supported by a target can be viewed with:
    info memory

    Hope this helps

    Stephen