-
Book Overview & Buying
-
Table Of Contents
Practical Debugging for Embedded ARM Systems
By :
In this section, we will talk about RTOS debugging, how it is different from a bare-metal application, and what information is required by a debugger to correctly recreate RTOS task states.
First, we must understand what is different between a bare-metal application and an RTOS. Bare-metal applications usually run inside an infinite loop. All application methods (except interrupts), modules, state machines, and so on are called from that main infinite loop routine and have to be handled manually.
This is simple, small, and fast. But this approach does not scale well and becomes hard to maintain as the application becomes more complex.
This is where RTOS-based applications shine. Each application method or module is enclosed in its own task with its own context and stack. The scheduling of each task is handled automatically, thus making it an excellent basis for multitasking applications whose scope may become more complex over time. The price is...