RTOS Debug Portal 2018-04-26T15:07:47+00:00

White Papers

RTOS 101

RTOS 101 explains fundamental RTOS concepts, such as tasks, priority-based scheduling, queues, semaphores and mutexes, and provides examples of how Tracealyzer can be used to understand such issues.

Stop Guessing

Stop Guessing – Trace Visualization for RTOS Firmware Debugging explains key motivations of using an RTOS, current trends in this area, and common pitfalls in RTOS-based development (including an example from NASA).

RTOS Debugging Blog Series

#1: Dealing with timing issues

Warped clocks

There is a learning curve when you begin using a real-time operating system in your development. You will work at a higher abstraction level, using  parallel tasks that interact with each other, and you will deal with timing issues.

⇒ Read more …

#2: CPU starvation

Too much on your hands

In embedded systems using multitasking, you may run into a situation where some of your tasks run slowly or not at all. This is called task starvation and it can happen for a number of reasons.

⇒ Read more …

#3: Chasing the jitter bug

Tracealyer Jitter diagram

When you have a task in your system that is supposed to execute at regular intervals, say every 5 milliseconds, then you have a system that is sensitive to random delays – also known as “jitter”.

⇒ Read more …

#4: Priority inversion

Priority Inversion

In embedded systems using multitasking, you may run into a situation where some of your tasks run slowly or not at all. This is called task starvation and it can happen for a number of reasons.

Read more …

#5: Deadlock

Dining philosophers

A clear indication that you may have a deadlock problem is when multiple tasks suddenly stop executing, although no higher priority tasks are running.

Read more …