title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.
Zephyr RTOS Programming (AC6401)
Course Description
Overview
Zephyr RTOS Programming (AC6401) is a five day, live, virtual, instructor-led course with extensive hands-on labs. Participants also have access to our discussion forum, enabling them to interact with peers and experts. Those who successfully complete the course receive a certificate of completion.Turn Zephyr RTOS mastery into career momentum – Learn to architect modern embedded systems and accelerate your path to senior roles in IoT, firmware, and real-time application development.
Position yourself for in-demand embedded roles, from senior engineering to firmware architecture and leadership, with the expertise to tackle complex challenges and design secure, connected, high-performance systems for IoT, automotive, and industrial applications.
This course includes:
- Live Online (Virtual)
- 5 days of Instructor-led class time
- Hands-on Labs & Assignments
- Resources & Course Manual
- Certificate of Completion
Objectives
- Develop, configure, and debug modern embedded applications with Zephyr RTOS. Through hands-on labs and real-world examples, learn west, devicetree, Kconfig, multithreading, drivers, and secure design to create scalable, reliable, and connected embedded systems.
Audience
Prerequisites
-
This course is primarily intended for embedded systems engineers or technicians looking to dive deep into Zephyr RTOS. This course assumes you have good C programming skills and are familiar with multithreading concepts.
Topics
- The Linux Foundation
- The Linux Foundation Training
- The Linux Foundation Certifications
- Laboratory Exercises, Solutions and Resources
- Labs
- Introduction and Course Flow
- Zephyr ecosystem
- Installation and use of Zephyr
- Toolchains and Zephyr SDK
- Zephyr CMake functions
- Application structure
- Code structure
- Lab: Getting started with Zephyr and using west
- Kconfig from an application perspective
- Config fragments
- Device tree syntax
- Device tree overlay
- Lab: Writing a device tree overlay
- Repository management
- West commands
- Lab: Writing a custom west manifest
- Common Subsystems: GPIO, I2C
- DeviceTree specification structures dt_spec
- Preprocessor meta-programming macros
- Data Structures
- Shell
- Lab: Using X-Macros in Zephyr and understanding CONTAINER_OF
- Thread Fundamentals
- Main and Idle Threads
- System Initialization
- Delays and timeout
- Lab: Creating and managing threads
- Lab: Creating periodic threads
- Scheduling Traces
- Thread analyzer
- Logging
- Lab: Creating config overlay for visual trace diagnostics with Tracealyzer
- Memory Overview
- Iterable Sections
- Dynamic memory managers
- Stack Memory Analysis
- Stack Overflow detection
- Lab: Understanding dynamic memory allocation in Zephyr
- Lab: Displaying threads information and detecting stack overflow
- Memory Domains
- Syscalls
- Mutual Exclusion
- Critical Sections and Spinlocks
- Semaphores
- Polling
- Lab: The producer-consumer problem, synchronizing and avoiding concurrent access problems
- Message Queues (MSGQ) & Queues
- Mailboxes
- Zephyr Bus (Zbus)
- Lab: Creating a print gatekeeper thread using message queue
- Lab: Synchronous communication using mailboxes
- Interrupts in zephyr
- Handler thread
- Workqueue
- Lab: Understanding how to wait on multiple events and interrupt safe APIs
- Lab: Understanding how to pass data using Queues from an interrupt to a thread
- Lab: Creating and submitting work items from interrupts to custom WorkQueue
- Creating a new module
- Module Structure
- Lab: Creating a basic module
- Kconfig syntax
- Kconfig extension
- Lab: Creating and configuring a module that uses custom Kconfig options
- Device driver model
- Define and allocate devices
- Matching drivers with device trees
- Device tree bindings
- Standard and common properties
- Interrupts and devices
- Lab: Creating a driver that respects the Zephyr Device Driver Model and define devices
- Lab: Creating a driver that uses custom device tree and Kconfig
- System Power Management
- Device Power Management
- Power domains
- Lab: Writing a driver compatible with power management subsystem
- Evaluation Survey
Related Courses
-
Introduction to Angular
WDJS-300- Duration: 3 Days
- Delivery Format: Classroom Training, Online Training
- Price: 1,755.00 USD
-
Programming in Rust (LFD480)
LNX-LFD480- Duration: 4 Days
- Delivery Format: Classroom Training, Online Training
- Price: 3,260.00 USD
Self-Paced Training Info
Learn at your own pace with anytime, anywhere training
- Same in-demand topics as instructor-led public and private classes.
- Standalone learning or supplemental reinforcement.
- e-Learning content varies by course and technology.
- View the Self-Paced version of this outline and what is included in the SPVC course.
- Learn more about e-Learning
Course Added To Shopping Cart
bla
bla
bla
bla
bla
bla
Self-Paced Training Terms & Conditions
Exam Terms & Conditions
Sorry, there are no classes that meet your criteria.
Please contact us to schedule a class.

STOP! Before You Leave
Save 0% on this course!
Take advantage of our online-only offer & save 0% on any course !
Promo Code skip0 will be applied to your registration
Purchase Information
title
Please take a moment to fill out this form. We will get back to you as soon as possible.
All fields marked with an asterisk (*) are mandatory.




