ABSTRACT

This chapter is meant as an overview of the FreeRTOS Application Programming Interface (API), to highlight the differences that are usually found when comparing a small real-time operating system with a POSIX system and to introduce the reader to small-scale, embedded software development. The FreeRTOS manual provides in-depth information on this topic, along with a number of real-world code examples. The chapter fills the gap between the abstract concepts of multiprogramming and IPC, and what real-time operating systems actually offer programmers when the resources at their disposal are severely constrained. Message queues are the main Interprocess Communication (IPC) mechanism provided by FreeRTOS. They are also the basic block on which the additional IPC mechanisms are built. The main program first creates the message queue that will be used for interprocess communication, and then a few producer and consumer tasks.