Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

These blogs concern the design of embedded systems that must meet deadlines, or else!

Mutexes and Semaphores Demystified

What's the difference between a mutex and a semaphore? Even very experienced firmware developers too often fail to fully appreciate the importance of using the correct tool for the job at hand. And, unfortunately, misuse of these two distinct types of synchronization primitives can lead to difficult to debug defects in embedded software, with potentially severe consequences in safety-critical medical devices, avionics and transportation equipment.

Hardware-Software Partitioning in Embedded Systems

One of the biggest challenges when architecting an embedded system is partitioning the design into its hardware and software components. Partitioning decisions must typically be made early in the design of a product. The consequences of hasty or biased decisions or lack of proper analysis can include, in the worst case: higher BOM cost, time-to-marked delays, or even an inability to meet requirements.

Key Learnings from Past Safety-Critical System Failures

Ever had a DVD player freeze? A mobile phone crash and reboot? A home router that required a reset? Welcome to the 21st century, where every device has at least one processor. Without question, our daily lives are enhanced by the embedded systems around us. And many of us take for granted that these devices will do their intended jobs tirelessly and correctly, day in and day out, without fail.

How to Minimize Interrupt Service Routine (ISR) Overhead

 Printable PDF

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.

Pages

What’s happening and how it’s done. Get in the know.

Sign up for our newsletter today!

Receive free how-to articles, industry news, and the latest info on Barr Group webinars and training courses via email. 

To prevent automated spam submissions leave this field empty.