Real-time Operating Systems (RTOS) - The Engineering Of Real-Time Embedded Systems
This book deals with the fundamentals of operating systems for use in real-time embedded systems. This book aims at those who wish to develop RTOS-based designs, using either commercial or free products. It does not set out to give you the knowledge to design an RTOS; leave that to the specialists.
The target readership includes students, engineers, scientists, and mathematicians moving into software systems, professional and experienced software engineers entering the embedded field, and programmers having little or no formal education in the underlying principles of software-based real-time systems.
The material covers the key ‘nuts and bolts’ of RTOS structures and usage (as you would expect, of course). In many cases, it shows how practical real-time operating systems handle these. After studying this topic, even the absolute beginner realizes that it isn’t particularly challenging to implement RTOS-based designs and should be confident to take on such work.
Now, that’s the easy part; the challenging aspect is how to best structure the application software in the first place. If your design is poorly-structured then, no matter which RTOS you use, you are very likely to run into problems of reliability, performance, safety, and maintainability. Hence the book places great emphasis on ways to structure the application software so that it can be effectively implemented using an RTOS.
Something is satisfying about turning theory into practice, bringing with it a great feeling of accomplishment. Moreover, it usually deepens and solidifies your understanding of the theoretical aspects of the subject, while at the same time eliminating misconceptions and misunderstandings.
So it’s not surprising that the fundamental philosophy of this book is that ‘theory is best understood by putting it into practice.’ Well, that’s fine as it stands. Unfortunately, the practice may be a bit more challenging, especially in the field of real-time operating systems.
First, you need a sensible, practical toolset on which to carry out the work. Second, for many self-learners, the cost may be an issue; the tools mustn’t be expensive. Third, they mustn’t be difficult to get, use and maintain. So what we have here is our approach to providing you with a low-cost toolset for RTOS experimentation. The toolset used for this work consists of:
- A graphical tool for configuring microcontrollers (specifically STM32F variants) - STM32CubeMX software application.
- An Integrated Development Environment for the production of machine code.
- A very low-cost single board computer with inbuilt programmer and debugger.
All software, which is free, can be run on Windows, OSX or Linux platforms. The Discovery kit is readily available from many electronic suppliers. The RTOS used for this work is FreeRTOS, which is an integral part of the CubeMX tool.