04836nam a22004335i 4500001001800000003000900018005001700027007001500044008004100059020003700100024003500137050001500172072001600187072002300203072001500226100008400241245011600325250001800441264005400459300004500513336002600558337002600584338003600610347002400646505062300670520273301293650005704026650003104083650003304114650003104147710003404178773002604212776003604238776003604274856004604310912001404356912001504370999001704385979-8-8688-0107-5DE-He21320251030112944.0cr nn 008mamaa240907s2024 xxu| s |||| 0|eng d a97988688010759979-8-8688-0107-57 a10.1007/979-8-8688-0107-52doi 4aQA76.7-.73 7aUMX2bicssc 7aCOM0510102bisacsh 7aUMX2thema1 aEliasz, Andrew.eauthor.4aut4http://id.loc.gov/vocabulary/relators/aut98392710aZephyr RTOS Embedded C Programmingh[electronic resource] :bUsing Embedded RTOS POSIX API /cby Andrew Eliasz. a1st ed. 2024. 1aBerkeley, CA :bApress :bImprint: Apress,c2024. aXIX, 677 p. 148 illus.bonline resource. atextbtxt2rdacontent acomputerbc2rdamedia aonline resourcebcr2rdacarrier atext filebPDF2rda0 a1. Introduction -- 2. A Review of RTOS Fundamentals -- 3. Zephyr RTOS Application Development Environments and Zephyr Application Building Principles -- 4. Zephyr RTOS Multithreading -- 5. Message Queues, Pipes, Mailboxes and Workqueues -- 6. Using Filesystems in Zephyr Applications -- 7. Developing Zephyr BLE Applications -- 8. Zephyr RTOS and Ethernet, WiFi, and TCP/IP -- 9. Understanding and Working with the Device Tree, in general, and SPI and I2C in particular -- 10. Building Zephyr RTOS Applications Using Renode -- 11. Understanding and Using the Zephyr ZBus in Application Development -- 12. Zephyr Wi-Fi. aThese 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. 0aProgramming languages (Electronic computers).966206 0aInternet of things.95884514aProgramming Language.96620824aInternet of Things.9588452 aSpringerLink (Online service)0 tSpringer Nature eBook08iPrinted edition:z979886880106808iPrinted edition:z979886880108240uhttps://doi.org/10.1007/979-8-8688-0107-5 aZDB-2-CWD aZDB-2-SXPC c63197d63197