Ternary Operator versus the if/else statement …

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 … Continue reading Ternary Operator versus the if/else statement …

7 Characteristics to Consider when Selecting an RTOS

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 … Continue reading 7 Characteristics to Consider when Selecting an RTOS

Mastering the 8 Pillars of Embedded Software

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 … Continue reading Mastering the 8 Pillars of Embedded Software

Tools – Embedded Software Start-up Checklist

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 … Continue reading Tools – Embedded Software Start-up Checklist

Tools – AstroGrep

One of the problems with developing embedded software using a windows based machine is that there is no GREP feature built into windows. Developers can use the Search or Find in Files feature that is part of their IDE but generally these features don’t have the power of GREP. Developers interested in a Windows based … Continue reading Tools – AstroGrep

CEC – Driver Design Patterns and the Internet

Course Overview: Leveraging design patterns is a critical technique to quickly and efficiently develop an embedded system.  This course will explore driver design patterns through developing low-level drivers for the STM32L0 Nucleo board. We will explore the interfacing of common sensors to the development board, in addition to connecting it to the Internet as a … Continue reading CEC – Driver Design Patterns and the Internet