Zephyr RTOS Embedded C Programming: Using Embedded RTOS POSIX API
Author: Andrew Eliasz (Author)
Publisher finelybook 出版社: Apress
Edition 版次: First Edition
Publication Date 出版日期: 2024-09-07
Language 语言: English
Print Length 页数: 696 pages
ISBN-10: 886880106H
ISBN-13: 9798868801068
Book Description
These days the term Real-Time Operating System (RTOS) is used when referring to an operating system designed for use in embedded microprocessors or controllers. The “Real Time” part refers to the ability to implement applications that can rapidly responding to external events in a deterministic and predictable manner. RTOS-based applications have to meet strict deadline constraints while meeting the requirements of the application. One way of ensuring that urgent operations are handled reliably is to set task priorities on each task and to assign higher priorities to those tasks that need to respond in a more timely manner.
Another feature of real-time applications is the careful design and implementation of the communication and synchronization between the various tasks. The Zephyr RTOS was developed by Wind River Systems, and subsequently open sourced. Its design and implementation are oriented towards the development of time critical IoT (Internet of Things) and IIoT (Industrial Internet of Things) applications, and, consequently it has a rich feature set for building both wireless and wired networking applications. However, with a rich feature set comes a fairly steep learning curve.
This book covers the foundations of programming embedded systems applications using Zephyr’s Kernel services. After introducing the Zephyr architecture as well as the Zephyr build and configuration processes, the book will focus on multi-tasking and inter-process communication using the Zephyr Kernel Services API. By analogy with embedded Linux programming books, this book will be akin a Linux course that focuses on application development using the Posix API. In this case, however, it will be the Zephyr Kernel Services API that will be the API being used as well as the Posix API features supported by Zephyr.
What You’ll learn
- An Overview of the Cortex-M Architecture.
- Advanced data structures and algorithms programming (linked lists, circular buffers and lists).
- How to build Zephyr Applications, including setting up a Command Line Zephyr Development Environment on Linux.
- Task scheduling and pre-emption patterns used in Real Time Operating Systems.
- Scheduling, Interrupts and Synchronization, including threads, scheduling, and system threads.
- Overview of Symmetric Multiprocessing (SMP) and Zephyr support for SMP.
- Memory management, including memory heaps, memory slabs, and memory pools.
Who This Book Is For
Embedded Systems programmers, IoT and IIoT developers, researchers, BLE application developers (Industrial Control Systems, Smart Sensors, Medical Devices, Smart Watches, Manufacturing, Robotics). Also of use to undergraduate and masters in computer science and digital electronics courses.
About the Author
Andrew Eliasz is the Founder and Head at Croydon Tutorial College as well as the Director of First Technology Transfer Ltd. First Technology Transfer runs advanced training courses and consults on advanced projects in IT, real time and embedded systems. Most courses are tailored to customers’ needs. Croydon Tutorial College evolved from Carshalton Tutorial College which was established to provide classes, distance level teaching, workshops and personal tuition in computer science, maths, and science subjects at GCSE, A Level, BTEC, undergraduate and masters levels. It has now changed its name and location to Croydon Tutorial College at Weatherill House Croydon. As well as teaching and tutoring they also provide mentoring and help for students having difficulties with assignments and projects (e.g., by suggesting how to add to a project to obtain a better grade, as well as reviewing project content and writing styles).