Global training solutions for engineers creating the world's electronics
Menu

Zephyr Essentials ONLINE

This course is in active development and subject to change. Please enquire to register your interest and we will follow up with you on availability.

Standard Level: 4 sessions (6 hours per session)


PLEASE NOTE: This is a LIVE INSTRUCTOR-LED training event delivered ONLINE.

It covers the same scope and content as a scheduled in-person class and delivers comparable learning outcomes.


 

Zephyr is a modular, highly portable, real-time operating system with an associated ecosystem to build secure, connected, and future-proofed devices. Zephyr is not just another RTOS but a complete development platform. It can help you achieve a lot with optimal effort. 

This course helps you to navigate the steep learning curve for Zephyr and gives you a solid foundation to get you project-ready quickly.

This training class is designed around interactivity and student engagement with hands-on workshops designed to reinforce learning through practical applications. 

  • Discover what sets Zephyr apart from other embedded OS.
  • Learn how to create, configure, and build a Zephyr application.
  • Understand the Zephyr architecture.
  • Learn how to enable and integrate common hardware peripherals like GPIO, I2C, or UART.
  • Discover the various Zephyr services and APIs available.
  • Learn how to develop, debug, and test Zephyr applications.

This course is designed for anyone interested in, or tasked with, the development of a resource-constrained Real-Time system using Zephyr, for example, software engineers, firmware engineers, hardware engineers, field engineers, and project managers.

  • Familiarity with C programming and embedded systems.
  • Basic knowledge of embedded processors and peripherals.
  • Some familiarity with embedded OS concepts, like tasks, priority, schedulers, and message passing.

Prior attendance of C Programming for Embedded Systems  or equivalent is recommended.

Doulos Course materials are renowned for being the most comprehensive and user-friendly available. Their style, content, and coverage is unique and has made them sought-after resources in their own right.

The materials include:

  • Fully indexed course notes creating a complete reference manual
  • Workbook full of practical examples and solutions to help you apply your knowledge

A tour of Zephyr

Course Objectives ● Background ● Why use Zephyr RTOS? ● Application Examples ● Supported Boards ● Architecture Overview ● Kernel Services ● OS services ● Connectivity ● Security ● Safety ● Licensing ● Releases Lifecycle and Maintenance ● Development Environment. ● Zephyr Resources

Zephyr Project Kickstart

Overview ● Zephyr Application directory ● Common Layouts ● Configuration files ● Cmake and ninja ● Device Tree ●  KConfig ● West ● Build ● Flashing ● Using Qemu ● Using an IDE

Configuring and Building Zephyr Application

Configuration System ● Interactive configuration ● Custom Kconfig ● Why device trees? ● Device tree Syntax and Structure ● Device Tree bindings ● Device Tree programmatic access ● Overlays ● Troubleshooting device Trees   ● DeviceTree vs KConfig

Tasks, Scheduling and Memory Management

Kernel services overview ● Threads (system, user) ● Scheduling ● CPU idling ● Kernel Timing ● Timers ● Memory management

Debugging Zephyr Application

Debugging Overview ● Zephyr Shell ● Logging subsystem ● Logging Configuration and usage ● system panic ● Core dump subsystem ● Core dump configuration ● Inspecting Core dump ●  Thread analyser ● Using Qemu ● Using JTAG ● Use case: stack overflow

Hardware Integration

Introduction ● Device Model ● init sequence ● subsystem API ● Adding and Initializing a device ● Init level ● Device Tree Overlays ● dts to C ● Using a device ● Multiple device instances ● Available Driver Samples ● Outlook: middleware

Interrupts and Data Passing

Critical Section ● Semaphore ● Mutex ● Other synchronizations ● When to use? ● Data Passing Overview ● Handling interrupts ● ISR ● Threads and interrupts ● Workqueue ● SMP case ● Annex: Other services (Atomic services, floating point, Version, Fatal Errors, Thread local storage).

Writing Zephyr Application

Overview and details of some of the OS services offered by Zephyr.

Testing and Quality Assurance

Footprint and Memory Usage ● CI/CD with Zephyr ● Generating SBOM ● Helping securing device ● Thread Analysis ● Other tools.

Practical Real Time Design

Dimensioning the stack ● MPU ● How many threads? ● Scheduling Design and analysis ● Real-time best practices ● Using multiple cores ● HAL and OSAL


As this course is under development, you can contribute to shaping the content and focus of the course as per your training needs. Complete an enquiry form and a Doulos representative will get back to you.

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request