Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

These blog posts pertain to the C programming language as used by embedded software developers.

How to Code a State Machine in C or C++

 Printable PDF

A state machine is any object that behaves different based on its history and current inputs.  Many embedded systems consist of a collection of state machines at various levels of the electronics or software.

How to Have Polymorphism Without a Heap

 Printable PDF

Rethinking basic programming techniques can avoid many of the problems that heap-based memory management poses for embedded real-time system designs.

A Framework for Safe Motion Control Firmware

 Printable PDF

An object-oriented framework can be used to create safe, testable and tunable motion control systems.

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.

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.