7 Tips for Optimizing Embedded Software

In “5 Embedded System Characteristics Every Engineer Should Monitor”, I discussed key embedded system characteristics that in many cases require optimization. These characteristics include system timing, code size, RAM usage and energy consumption. Optimizing each characteristic typically requires different methods and techniques but there are several general tips developers can follow to optimize their embedded … Continue reading 7 Tips for Optimizing Embedded Software

Transitioning to a Modern Day Engineering Notebook

Engineers and scientists have always relied upon notebooks to document their ideas, inventions, progress and even their missteps. Some of the most notable engineers and scientists who used notebooks include Nikola Tesla, Albert Einstein and Leonardo da Vinci. In fact, mankind would know very little of da Vinci’s discoveries had he not written them down … Continue reading Transitioning to a Modern Day Engineering Notebook

Tips and Tricks – 10 Steps for Selecting a Microcontroller (2017)

The way developers select a microcontroller for their embedded systems is dramatically changing. Traditionally developers have focused on the hardware first and thought about the software second. Selecting a microcontroller in this manner, will result in failure today. There are several new steps that developers need to follow if they are going to be successful … Continue reading Tips and Tricks – 10 Steps for Selecting a Microcontroller (2017)

Tips and Tricks – 5 Tips for Developing Real-time C++ Applications

Object-oriented programming has become a very popular and critical programming methodology for developing applications. While traditional embedded software development has mostly been developed using the procedural language C, C++ and other object oriented languages are slowly started to gain traction in real-time systems. In order to ensure that a C++ based applications doesn’t bloat code … Continue reading Tips and Tricks – 5 Tips for Developing Real-time C++ Applications

Tips and Tricks – Jumping from the Bootloader to the Application Code Cleanly

Bootloaders are included in nearly every embedded system and provide a great way to update application code in the field without having to access a programming port. As important as bootloaders are, developers often get tripped up trying to jump from the bootloader into their application code. The jump needs to be clean but there … Continue reading Tips and Tricks – Jumping from the Bootloader to the Application Code Cleanly