[ABANDONED] trace / call stack inconsistency

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

  • [ABANDONED] trace / call stack inconsistency

    I have a situation where it looks like the information in the Intstruction Trace and Call Stack windows are inconsistent.

    I am using Ozone V3.28c, J-Trace Pro V2 Cortex-M, STM32F205ZG processor.
    Target interface is JTAG, 20 MHz, 4 trace pins, 120 MHz CPU, 10M max instr count.

    The Call Stack and Cortex-M HardFault Exception window both indicate a precise data access error has occurred at address 0x20020040, executing in the FreeRTOS function xQueueSemaphoreTake(). (See attachments.)

    The Instruction Trace indicates execution inside the memset() function.

    The Call Stack and HardFault windows appear correct. I'm looking for ideas why the Instruction Trace does not match. Any help?

    Thanks,
    -Rob
    Images
    • CallStack.png

      662.15 kB, 1,912×985, viewed 457 times
    • hardfault.png

      115.04 kB, 1,352×1,068, viewed 321 times
  • Hi relepage,

    it looks like your device suffered a severe crash. The hardfault screen does not show register content. So it might even be the case that the connection J-Link<->Target was lost due to that crash. In general, the trace should reflect the code execution that led to the exception. However, if due to the crash, trace data was lost, this might not be the case. We do not know the reason for the crash. It might be the case that the crash is caused by a stack corruption. In that case the content of the call stack window might be misleading because operating on invalid data.

    I recommend reading this WIKI article: wiki.segger.com/Analyzing_Cortex-M_Faults_with_Ozone

    In case your target utilizes a low power mode mechanism, please consider this WIKI article: wiki.segger.com/UM08001_J-Link…Guide#Low_Power_Debugging


    Best regards
    -- AlexD
    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.