Ozone Breakpoints not setting correctly

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

    • Ozone Breakpoints not setting correctly

      Hi there,


      I am using Ozone V2.60k along with an NXP Mk64F12 MCU. I have noticed that recently when I was debugging my code would begin running when I am stepping over through an IF/ELSE statement or a SWITCH case, basically anything with a conditional branch. I investigated the problem further and noticed that the JLink was setting only a single breakpoint at any conditional statement when I believe it should be adding two. I have added an example from my code where you can see the JLink sets a breakpoint for one of the branches but not the other. Could this be some kind of compiler issue, like an incorrect optimization or something?
      Also I am fairly new to Ozone and using JLink so my apologies if this is a simple question I appreciate any help that can be given
      Images
      • SEGGER_controlpanel.PNG

        10.23 kB, 540×376, viewed 19 times
      • Cond_statement_ASM.PNG

        8.11 kB, 607×120, viewed 9 times
    • Hello,

      Thank you for your inquiry.
      We are not exactly sure what you mean from the example you provided.
      Could you provide a bigger snipped where one can see where the BP is actually set?
      What behaviour would you expect?
      What steps do you take when setting the BP?
      Does the target not halt when reaching the conditional statement?

      Best regards,
      Nino
      Please read the forum rules before posting: Forum Rules

      Keep in mind, this is not a support forum. Its main purpose is user to user interaction.
      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 contact us per e-mail.
      Alternatively our support system can be used as well: segger.com/ticket/
    • Hi,

      Thank you for the response, let me clarify slightly. The issue I have is occurring when I try to use the "step over current subroutine" function on Ozone. I have attached another example to hopefully better clarify. In ozone if I were to use the "step over current subroutine" function over the if/else statement, instead of jumping over the statement to the next line the target does not halt and starts executing the rest of the program. In my console when I jump over I can see that a breakpoint is set at the address of one of the conditionals but not the other. As you can see in the console the address for "return WWD_SUCCESS" is set as a breakpoint but not "retval = wwd_management_platform_init()" so the debugger does not halt when I jump over. This also occurs at switch cases as well.
      Images
      • CondState.PNG

        72.99 kB, 1,600×507, viewed 8 times
      • BKPT.PNG

        13.59 kB, 561×380, viewed 6 times