EmbeddedRelated.com
Blogs
Imagine Conference

Hidden Gems from the Embedded Online Conference Archives - Part 1

Tim GuiteMarch 5, 2025

In the years since its inception, the Embedded Online Conference has hosted hundreds of excellent talks. The topics cover an impressive range, from high level introductions, to tool and framework comparisons, to case studies of really annoying bugs! With just under 10 weeks to go until the 2025 edition, I am going to look at a different talk from the archives each week, appraising the content and providing some extra context.

The first talk we are going to look at is from 2020, the first year with on-demand archives: Operating Systems for Embedded Applications by Colin Walls.

Colin has worked on embedded systems for a long time. As well as his blogs on this esteemed website, his blogs for Siemens offer a wealth of knowledge. In this talk, Colin does an excellent job of simplifying operating system (OS) concepts as they relate to the challenges of real-time embedded systems. It is a great view for someone new to the area, as it does not get too much into the weeds. Equally, it offers a useful refresher for those of use who are deep in the weeds of a particular OS, and could benefit from revisiting these core concepts.

Towards the start of the presentation, Colin provides some perspective by asking, "how can you write software without an operating system?" Then immediately replies, "the answer is perfectly well!" While this can work in some situations, challenges pop up quickly as the program becomes more complex. This sets up a framework for explaining why embedded operating systems are needed, with tools such as scheduling methods, threads and inter-task communication.

To begin, Colin considers someone writing a program on bare-metal, without an operating system, as they have difficulties adding features and improving performance. Next, he introduces simple solutions and then more advanced OS tools, always comparing between them. This is a natural way to learn about these tools and consider what level of complexity we might need for our own applications - beyond just reaching for the tool we used before. 

There is a timeless quality to this primer on the general concepts behind embedded operating systems. Notably, there are almost no mentions of specific operating systems. Therefore, the information can be applied to whichever OS you are using or learning about.

In the second half of the talk, Colin discusses how to choose the right OS for an application. On the topic of safety and security, Colin has a great quote:

Safety is protecting the world from your device. Security is protecting your device from the world.

I always enjoy these kinds of sayings, they help me remember the specific engineering meanings behind words that seem similar.

Finally, the factors Colin highlights for choosing an OS are both technical and commercial:

  • whether the OS is open source and modifiable
  • cost and commercial support
  • OS specific APIs and services
  • use of standard APIs such as POSIX
  • multiprocessor support
  • ability to remove unused functionality

There is also a nice story on how to spot whether an OS vendor actually knows what they are talking about!

The embedded OS space has changed significantly over the past 10 years. Some stalwarts, such as ThreadX and FreeRTOS, have adopted open source positions while others, such as QNX and VxWorks, continue to be proprietary (and expensive!). Zephyr was created and has been well supported by microcontroller and peripheral chip vendors. The availability of powerful processors targeting embedded applications has made Embedded Linux a much more accessible choice. And there are new projects aimed at the IoT sector and programming languages other than C/C++ coming online all the time - see RIOT, Tock and RTIC. Given this changing landscape, the lessons Colin teaches will help you to properly consider the options for different projects and into the future.

I hope you've enjoyed this look into the Embedded Online Conference archives! Join me again next week for another "hidden gem"!

Further Reading:


Imagine Conference

To post reply to a comment, click on the 'reply' button attached to each comment. To post a new comment (not a reply to a comment) check out the 'Write a Comment' tab at the top of the comments.

Please login (on the right) if you already have an account on this platform.

Otherwise, please use this form to register (free) an join one of the largest online community for Electrical/Embedded/DSP/FPGA/ML engineers: