This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Once BIOS_start() is called the debugger goes to "loader_exit" function in Exit.c, followed by infinite loop in an "abort" function

Hello,

I am using the Ti RTOS on a TM4C123G6PM, code composer studio Version: 6.1.0.00104, RTOS 2.14.0.10, XDC 3.31.1.33.

the problem i am having is once I launch the debugger i can step through the code and as soon as BIOS_Start() is called the debugger jumps to a function called "Loader_exit" inside of exit.c file.  once here i step the debugger again and it goes to an infinite loop in an "abort" function.

my code has only 3 tasks at this point that are scheduled in the RTOS (no HWI,SWI, or Idle functions).

I tried looking into this problem with the ROV and UIA tools.  i see nothing on the execution graph and the log info shows nothing as well.

this leads me to believe that my tasks are never actually scanning (although i could be wrong).

also when I build my project I have 0 errors or warnings.

I was just wondering if anyone could help point me in the right direction for getting to the bottom of this issue?

  • michael whatley said:
    the problem i am having is once I launch the debugger i can step through the code and as soon as BIOS_Start() is called the debugger jumps to a function called "Loader_exit" inside of exit.c file.  once here i step the debugger again and it goes to an infinite loop in an "abort" function.

    Loader_exit can be called after SYS/BIOS has detected an error.

    Once Loader_exit has been entered try and use the stack backtrace to find where Loader_exit has been called from, which will hopefully identify the error which was detected by SYS/BIOS.

  • Hello Chester,

    And check the FAULTSTAT registers as well?

    Regards
    Amit
  • Amit Ashara said:
    And check the FAULTSTAT registers as well?

    Yes, it would be sensible to check the FAULTSTAT registers for any exceptions detected by the processor.

    [With TI-RTOS projects for a Cortex-A8 I have seen TI-RTOS install it's own exception handlers which output a register dump when a processor exception occurs, but can't remember if that is also done when TI-RTOS runs on a Cortex-M4]

  • Hello Amit/ Chester,

    thanks for the suggestions, I will test these out to see if it can help me access the root cause.

    I did find an error in my code that was trying to access a pin that was never initialized.  i fixed that and the issue seemed to be fixed.

    it was confusing me because i thought it had something to do with the RTOS configuration, but it appears that was not the case.

    I will implement these options that y'all have suggested and see if they take me back to the same error.

    thanks for your time,

    michael

  • Hello Michael

    Did you mean a Pin for which the Port clock was not enabled?

    Regards
    Amit
  • Hello Amit,
    yes that is correct.
    inside of one of my tasks (scheduled by RTOS), I had tried to access a GPIO that i did not enable the clock on.

    thanks for your time,
    michael