Introducing: RTOS Revealed

September 21, 2016

Colin Walls-September 21, 2016

It is my pleasure to introduce a new series of articles here on Embedded.com: RTOS Revealed. The series will delve into all aspects of real time operating systems and new articles will appear at approximately monthly intervals.

The series is intended for any developer who is curious about how to use an RTOS and how they work. The starting point will be some consideration of real time systems in general, then how an RTOS can make their implementation easier and the resulting code more reliable.

Looking under the hood of an RTOS, we will look at how task scheduling works. The multi-threading paradigm makes it appear that the CPU is performing multiple actions simultaneously. It is not magic – an understanding of task scheduling will make it quite comprehensible to even an inexperienced software engineer. Similarly, articles will cover other RTOS objects – for inter-task communication and synchronization, timing, memory management etc. – with a similar level of rigor, all backed up with example code.

A key aspect of an RTOS, from a developer’s point of view, is the Application Program Interface (API). This is a set of procedure calls that give access to the functionality of the RTOS. Articles in the series will look at how an API is organized, what standards are available and how migration from one API to another may be achieved.

Topics
Here is some idea of the topics that will be addressed in articles in the months to come:

  • Program structure and real time

  • Real time operating systems

  • Tasks and scheduling

  • Inter-task communication and synchronization

  • Other OS services

  • Introducing Nucleus SE

  • The scheduler

  • Tasks

  • Memory partitions

  • Signals

  • Event flag groups

  • Semaphores

  • Mailboxes

  • Queues

  • Pipes

  • System time

  • Application timers

  • Interrupts

  • Diagnostic and error checking

  • Initialization and start-up

Interaction
In my experience, Embedded.com readers are not shy about asking questions and expressing opinions. My hope is that, in addition to being informative, RTOS Revealed may become something a forum for discussing RTOS matters. Such discussion is likely the shape the progress of the series over time. If you have a question about using an RTOS, this is place to ask it.

A bonus
The RTOS Revealed series is not tied to any specific real time operating system – much of the material will be applicable to most RTOS implementations. My view, that using an existing – probably commercially backed and supported – RTOS is the safest and most productive way to proceed, will be reflected in the series. Indeed, an article will be dedicated to the detailed consideration of the “make vs buy” decision and another to an RTOS selection methodology.

However, as a means to explain the internal functionality of an RTOS, I will be including all the code to a real RTOS product – Nucleus SE – which you are free to deploy in your own projects at no cost. A whole article will introduce Nucleus SE and place it in context.

Going forward
I am excited to have the opportunity to embark on this series and hope that you will come along for the ride. In the next article, I will be taking a look at real time systems and how an RTOS fits into the picture.

Colin Walls has over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, Colin is an embedded software technologist with Mentor Embedded [the Mentor Graphics Embedded Software Division], and is based in the UK. His regular blog is located at: http://blogs.mentor.com/colinwalls. He may be reached by email at colin_walls@mentor.com

 

Loading comments...