OZONE FreeRTOS HALT EmptyCallStack when using Float

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

    • OZONE FreeRTOS HALT EmptyCallStack when using Float

      I am using OZONE(V2.56i) to debug FreeRTOS on a STM32F437, Compiler GCC (Atollic TrueStudio for STM32 Version: 9.0.0 )




      Starting the Programm In the Ozone-Debugger and Pause it(== crtl+F5), i can see the complete List of all FreeRTOS Tasks
      and by clicking the Task, i see the assoceated CallStack of the Task.
      - OK


      BUG:
      =======
      The CallStack of one Task disappeares compleatly after some time (Only a Null- Pointer is shown)

      This happens exactly after the first use of any FLOAT in this Threat - and stays until the next restart of the System.

      Changeing the Code to Integer-Aritmetic (Fixpoint-Integer/ Q31) helps to overcome the Problem - for some time.

      ---
      The critical Threat is my GUI-Thread.

      I am using emWin. (ST-library version)

      when opening a Window, that uses a Circle or ARC (In AA-Mode) the problem is back (- no CallStack shown in OZON ) for this thread (after pausing the thread).
      - I suppose there are some trigonometric functions like SIN inside the Draw-Circle(==using floats)


      By elininating the Circles, the OZONE works fine, and i have the CallStack.


      ==> I tried to switch emWin to Software-Floats, but i could not manage.


      INFO:
      =====
      When using a Breakpoint in the Thread, the Call-Stack is correct shown - the effect only occurs, when pausing the System in the Ozone-Debugger.



      I need the pause-functionality in Ozone with the Call-Stack, because the Thread hangs some times (Closed-Loop), and i do not know where --> (No Place to set the Breakpoint)




      I would be nice, if i can debug the Threads in Ozone, when Hardware-Supportet Float aritmetic is enabled
    • Hello,

      Thank you for your inquiry.
      Such an issue is now known to us.
      Could your provide us with a reproduction example project?
      Any STM32F4 eval board as baseboard would suffice.

      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.
      The following contact form can be used for this: segger.com/about-us/contact-us/

    • Also reproduceable in Atollic with FreeRTOS --> Seams a Problem of the J-Link FreeRTOS Awarenes

      During preparing an Example for You, i discovered, that it is the same in Atollic-Debugger.

      --> seems to be a Problem with the FreeRTOS awareness of the J-Link, not a Problem of Ozone

      Test-Constellation:
      1) STM32F429I-DISCO, ST-Link changed to "J-Link On Board" with J-Link Reflash utility to enable FreeRTOS-Awareness
      2) CubeMX Project generated Project with 2 aditional Tasks, one calling a Subroutine with a Float
      3) Pressing Pause --> You will get the Pictures in the attachement: The CallStack of myTask02/StartTask02 is empty
      Images
      • EmptyFreeRtosCallStack_InAtollic.png

        57.31 kB, 800×600, viewed 34 times
      • MainWithFloat_InAtollic.png

        69.31 kB, 512×1,076, viewed 26 times
      Files
      • CubeMX_Main.zip

        (10.45 kB, downloaded 15 times, last: )
    • New

      Hello,

      Thank you for providing the example project and reproduction steps.
      With them we were able to reproduce the issue.
      A fix should be available with the next Ozone release version planned next week.
      Sorry for any inconveniences caused.

      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.
      The following contact form can be used for this: segger.com/about-us/contact-us/