Real-time Operating Systems: Theory And Practice Using STM Cube, FreeRTOS And STM32
This book deals with the fundamentals of operating systems for use in real-time embedded systems. It is aimed 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. 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 these are handled by practical real-time operating systems. After studying this even the absolute beginner will see that it isn’t particularly difficult to implement RTOS-based designs and should be confident to take on such work.
Now, that’s the easy part; the really 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.
There’s something really 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 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 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, cost is 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 integrated with the CubeMX tool.