Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

These blog posts discuss the design and/or efficient implementation of various programming algorithms.

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 Make Embedded Software Smaller and Faster

We've all heard it before - "premature optimization is the root of all evil" - yet many embedded systems have reliability, cost, and performance requirements that demand a development style where we optimize early and often. Performance needs to be designed into a system, from architecture to algorithms to data structures to coding guidelines.

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.

Introduction to Finite Impulse Response Filters for DSP

 Printable PDF

Finite impulse response (FIR) filters are the most popular type of filters implemented in software. This introduction will help you understand them both on a theoretical and a practical level.

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.