Follow our illustrated blog on Embedded Software Architecture

How to build a hybrid solar/wind energy harvester?

The embedded hierarchy – Part3

Linux-based software platforms Linux kernel In this section the Linux kernel part of an embedded software platform is discussed. Compiler While FreeRTOS (see Part2) has support for several compilers, the Linux kernel community has chosen GCC. Although less flexible, it simplifies things a lot and allows developers to take advantage of gcc specific features and […]


Energy Harvester Telemetry

Everything becomes networked Development focus is very important in order to prevent scope creep, however it does not hurt to look a bit further in the future to try to see how things evolve. Our development track for the energy harvester is progressing nicely, but what will be next? We think that information sharing and […]


Programs, processes and threads – Part 2

This post is Part 2 of the series. Part1, which explains Programs and Processes, can be found here. Thread A thread is a single path of execution and schedulable by the CPU. It has its own stack, program counter and set of registers. A process (living program and container of all resources — see Part1) has one […]


Programs, processes and threads – Part 1

Introduction Especially process and thread are terms which have many different definitions and implementations. And therefor, it is easy to get confused, and hard to get the concepts crystallized in your mind. Just do some googling and you will find plenty of sources which more or less contradict each other. We will add another source […]


Not all processors have atomic instructions!

Recently we were involved in improving boot-up times of a Linux based platform. We noticed that the boot-up time was much longer than expected based on the processor speed. The only way to figure out what was happening was to profile the start-up procedure. Something that is not always easy on limited embedded platforms like […]