Application exits prematurely

When an application is built with RTOS kernel instrumentation enabled, it is possible that one of its runtime checks might cause the application to terminate prematurely. Typically when this occurs, the application will halt at a breakpoint symbol called loader_exit (in CCS) or __exit (in IAR).

Various available runtime checks are enabled via the RTOS .cfg configuration file. To determine what checks are enabled, you can see the documentation included in the .cfg file or refer to the TI-RTOS kernal User Guide directly.

Some applications may contain a pair of Debug and Release build configurations. When such build configurations exist, the Debug configuration takes advantage of utilizing a suite of runtime checks. These runtime check can include but are not limited to:

  • Task stack overrun checks

  • System stack overrun checks

  • Various asserts (Tasks, Swi, Hwi, etc…)

  • Loggers (UIA loggers)

  • Kernel policy checks (Checking if runtime creation/deletions are permitted)

When an runtime check detects an anomaly, the kernel responds by capturing and printing the fault condition and halting the system at the exit or loader_exit symbol.