Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Architecting High-Performance Embedded Systems

You're reading from   Architecting High-Performance Embedded Systems Design and build high-performance real-time digital systems based on FPGAs and custom circuits

Arrow left icon
Product type Paperback
Published in Feb 2021
Publisher Packt
ISBN-13 9781789955965
Length 376 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Author (1):
Arrow left icon
Jim Ledin Jim Ledin
Author Profile Icon Jim Ledin
Jim Ledin
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Section 1: Fundamentals of High-Performance Embedded Systems
2. Chapter 1: Architecting High-Performance Embedded Systems FREE CHAPTER 3. Chapter 2: Sensing the World 4. Chapter 3: Operating in Real Time 5. Section 2: Designing and Constructing High-Performance Embedded Systems
6. Chapter 4: Developing Your First FPGA Program 7. Chapter 5: Implementing systems with FPGAs 8. Chapter 6: Designing Circuits with KiCad 9. Chapter 7: Building High-Performance Digital Circuits 10. Section 3: Implementing and Testing Real-Time Firmware
11. Chapter 8: Bringing Up the Board for the First Time 12. Chapter 9: The Firmware Development Process 13. Chapter 10: Testing and Debugging the Embedded System 14. Other Books You May Enjoy

Understanding key RTOS features and challenges

Several standard capabilities are included in most of the RTOS implementations that are in wide use today. Some of these features enable efficient communication among tasks in a manner consistent with real-time operation. While common, not all of the following features are universally available in all RTOSes.

Mutexes

A mutex, which stands for mutual exclusion, is a mechanism for managing access to a shared resource among tasks. A mutex is conceptually identical to a global variable that can be read and written by all tasks. The variable has the value 1 when the shared resource is free, and 0 when it is in use by a task. When a task needs to gain access to the resource, it reads the variable and, if it is free, with the value 1, sets it to 0 to indicate the mutex is owned by a task. The task is then free to interact with the resource. When the interaction is complete, the task sets the mutex to 1, thereby releasing ownership.

If...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime