Follow our illustrated blog on Embedded Software Architecture

How to build a hybrid solar/wind energy harvester?

The red-black tree and hash table

red-black tree The even more advanced container we look at now is the red-black tree, which is a type of self-balancing binary search tree. Especially, interesting is the time complexity in big O notation: Action/Subject       Average          Worst case Space                          O(n)                O(n) Search                        O(log n)    […]


Real-time: designing task algorithms

In an earlier article, we talked about real-time behaviour, meeting deadlines and how a real-time OS operates. To recapitulate: the highest priority task that becomes runnable pre-empts all other tasks and runs to completion (until it ends, yields or sleeps). Also, we can have different layers of processing. high-to-low priority run-to-completion interrupts run first (all […]


Adopting MISRA-C guidelines in your software development process – best practices

Implementing functional safety by means of achieving a certain safety integrity level (SIL) is a matter of reducing risks. On the software side this results among other things in the adoption of a language subset, which often is a required SIL parameter. As C and, to a lesser extent, C++ are popular programming languages for developing embedded software, a […]