Embedded Basics – Setting up Tracealyzer to Debug FreeRTOS Applications

Post Image

Peering into a microcontroller and seeing how the embedded software is executing has always been important to embedded software developers. In the good old days, developers used to have to instrument their hardware with extra outputs and use all kinds of tricks in order to take a stab at understanding what was happening with their […]

read more

Tips and Tricks – 7 Cardinal Sins of Embedded Software Development

Post Image

Every industry has their best practices and their sinful practices.  The cardinal sins are the practices that many are aware of but that are just too tempting or too easy to fall into. The embedded software industry has a number of these cardinal sins but there are seven in particular that seem to have pervaded […]

read more

Tools – The RTOS Selection KT Marix

Post Image

Selecting the right RTOS for a project can be tricky business. Engineers often come to the table with predisposed opinions that can cloud their judgment and pull them in a direction that isn’t optimal. Let’s face it, many of us have been involved in an engineering decision where the choice was dictated by the loudest […]

read more

Slowing Down to Go Faster

Post Image

Speed is imperative in the business world. Getting to market before competitors, leading the way in innovation, the development cycle can be relentless. For embedded systems engineers, deadlines are always yesterday. There is always a push to get things done faster. How quickly can we get this done? So and so needs this as fast […]

read more

Ternary Operator versus the if/else statement …

Post Image

When I’m teaching “C Programming for Embedded Systems”, I’m often asked whether the ternary operator should be used or an if/else statement. Hidden behind the question is really the need to know whether the ternary operator is more efficient than if/else. One might think that compilers today would generate identical code. Let’s take a quick […]

read more

It’s the end of C as we know it!

Post Image

The C programming language has been with embedded software developers since its creation in 1972. Ever since then C has been a blazing constant, surviving even the big push in the late 90’s and early 21st century to move to C++ or other object oriented languages. Undoubtedly, C will continue to be a foundational language […]

read more

7 Characteristics to Consider when Selecting an RTOS

Post Image

Selecting the right RTOS is a critical step in any embedded software development project. Selecting the wrong RTOS could affect project costs, time to market and have real-time implications on the behavior of the system. When selecting an RTOS, teams usually focus just on cost but there are seven characteristics that should be considered. Let’s […]

read more

Mastering the 8 Pillars of Embedded Software

Post Image

Every embedded software program starts with a basic foundation from which the application is built. A successful application requires that the developer build the application using knowledge of the eight pillars of embedded software which include: Architecture Code Analysis Debugging Documentation Language Skills Standards Testing Tools / Ecosystem Skill deficiencies in any of these pillars […]

read more

Tools – Embedded Software Start-up Checklist

Post Image

Setting up a project the correct way from the start doesn’t have to be black magic. Successfully implementing quality embedded software starts by following a very simple procedure and following a disciplined approach to software development. The download link below contains a checklist of embedded software tasks that should be implemented before application code is […]

read more

Understanding Embedded System Failure Rates

Post Image

Embedded systems consist of two very different types of failure rates; hardware and software. The probability of a hardware failure is a well known and understand probability curve which can be observed in Figure 1. When an electronic device is first manufactured there is a short period of time where the probability of a failure […]

read more