[SOLVED] Setting breakpoint without halting target

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] Setting breakpoint without halting target

    Hi, I am developing on an Infineon XMC4400 with DAVE.
    When I add/remove a breakpoint while the target is running, the program is halted for about 35ms.
    Is there a way to prevent this?
  • Hi,
    Thank you for your inquiry.
    Hardware breakpoints (HW BP) on embedded devices are very limited.
    Thus, by default, the flash breakpoint (Flash BP) feature is enabled.
    From your description I would assume that you have set more BPs than HW BPs are available,
    so a Flash BP is set.

    When setting a Flash BP, a flash download has to be executed and for this the target is halted.

    To disable Flash BPs, please refer to:
    - wiki.segger.com/J-Link_Command_Strings#DisableFlashBPs
    - wiki.segger.com/J-Link_-_Web_control_panel#Settings

    Could you please check if this resolves the delay?

    BR
    Fabian
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • Short info from my side:

    For Cortex-M cores, HW breakpoints as well as SW breakpoints in RAM can be set without halting the CPU core.
    The J-Link API supports this.

    While Fabian is correct regarding SW breakpoints in flash require the CPU core to be halted, I doubt that SW breakpoints in flash are used here
    because 35ms sounds very short for reprogramming a flash sector.

    All of this sounds more like the DAVE IDE does simply not make use of the "can set while running" feature and explicitly halts the CPU core (unnecessarily) before setting a breakpoint.
    We recommend to get in touch with Infineon regarding this.
    SEGGER Ozone supports this feature and may be used in the meantime, until Infineon comes up with a fix for DAVE IDE: segger.com/products/development-tools/ozone-j-link-debugger/
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • It is not a flash breakpoint. They take about 2.5 seconds.
    I also tried it with a J-Link Ultra (normally I use the XMC-Link Debugger) but same behavior.

    Ok, then I'll focus on the IDE side and also have a look at ozone debugger.
    Thank you for your help.