Tips and Tricks – 7 Tips for Meeting Real-time Deadlines

Post Image

Embedded systems must meet their real-time deadlines in order to function efficiently and as expected. No one likes to press a button and wait thirty seconds before the system finally responds. More importantly, safety critical systems need to meet their deadlines or else very bad things could happen, such as injury or death. There are […]

read more

Tools – The Device Firmware Update (DFU) Utility

Post Image

Nearly every product requires a software update at some point or another. Whether it’s our cellphones, TV’s or even our refrigerators (yea I went there). Microcontroller based systems typically aren’t running a high-level operating system that allows files to be replaced. Instead, developers need a bootloader. Microcontroller vendors have been including firmware update capabilities inside […]

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

7 Tips for using an RTOS

Post Image

Real-time operating systems (RTOSes) have become a critical component in many embedded systems. Transitioning from bare-metal scheduling to an RTOS can be tricky business. Here are seven tips to help make the transition easier. Tip #1 – Plan out your architecture first If you have never used UML or been big into software architectures, now […]

read more

Tools – Optimizing Firmware using DRT

Post Image

Embedded software development is usually performed under severe resource constraints not only from a business stand-point but from the microcontroller as well. Upgrading to a higher end processor may result in a project that is not financially feasible especially for high volume applications where every penny can make difference. I’ve recently been playing with a […]

read more

Tools – Percepio Tracealyzer

Post Image

The behavior of a real-time embedded system is often a black box. Developers design their software, write their code and then hope that the system is behaving and executing their code the way they envisioned it. The problem is that developers have always had to hope or carefully sprinkle code snippets throughout the application in […]

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