How-to articles about the use of real-time operating systems in embedded systems.

Mutexes and Semaphores Demystified

What's the difference between a mutex and a semaphore? Misuse of these two distinct types of synchronization primitives can lead to difficult to debug defects with potentially severe consequences in safety-critical devices.

Pros and Cons of AndroidOS for Embedded Systems

Android software architecture, hardware requirements, licensing terms, and security considerations with a few case studies to illustrate the pros and cons of building embedded systems around the AndroidOS.

How to Minimize Interrupt Service Routine (ISR) Overhead

With all the automation available today, it's easy for programmers to overlook costly overhead introduced into machine code by the compiler. Interrupt handlers are one key area worthy of a closer inspection.

The Perils of Preemptive Multitasking

 Printable PDF

Every commercial RTOS employs a priority-based preemptive scheduler. This despite the fact that real-time systems vary in their requirements and real-time scheduling doesn't have to be so uniform. Multitasking and meeting deadlines is certainly not a one-size-fits-all problem.

Introduction to Preemptive Multitasking

 Printable PDF

Most real-time operating systems employ preemptive schedulers. This primer on preemption also looks at the kind of multitasking it enables.

How to Choose a Real-Time Operating System

In the market for a real-time operating system (RTOS)? This article provides an overview of RTOSes and how you can select the best one for your project.

Embedded Linux and Copyright Law

 Printable PDF

The rising popularity of Linux has spurred many embedded developers to consider it as an RTOS alternative. Here's the straight scoop on the legal implications for the proprietary parts of your firmware.

Introduction to Priority Inversion

 Printable PDF

When tasks share resources, as they often do/must, strange things can and will happen. Priority inversions can be particularly difficult to anticipate. A basic understanding of the problem is key.

How to Use Watchdog Timers Properly when Multitasking

To keep a watchdog timer from resetting your system, you've got to kick it regularly. But that's not all there is to watchdog science. We will examine the use and testing of a watchdog, as well as the integration of a watchdog into a multitasking environment.

A Glossary of Open Source Legal Terms

 Printable PDF

If you are considering using software developed by others, such as Linux, within your embedded system, you'll likely need an intellectual property lawyer to read the license agreements such as GPL. Here's a brief glossary of the licensing terminology that's enough to get you started.

Pages