Feedback
Feedback

If you are having issues with the exercises, please create a ticket on DevZone: devzone.nordicsemi.com
Click or drag files to this area to upload. You can upload up to 2 files.

Lesson 7 – Multithreaded applications

Overview

nRF Connect SDK uses the Zephyr RTOS, a real-time OS designed for embedded development. Zephyr includes numerous kernel services and other features including threads, that allow for multithreaded application development. In this lesson, we will go through thread concepts and the thread-related services that are provided by the nRF Connect SDK/Zephyr.

In the exercise section, we will cover how to create threads with different priorities and learn about the scheduler’s behavior through features like time slicing and workqueues.

Objectives

  • Understand the main difference between bare-metal vs RTOS programming, including both advantages and disadvantages in utilizing an RTOS
  • Get familiarized with Zephyr RTOS execution model, ISRs, threads, thread’s life-cycle and inter-task communication/synchronization mechanisms, and the scheduler
  • Learn the basics of kernel services related to threads (user-defined threads, system threads, workqueue threads)
  • Learn about preemptive scheduling and time-slicing through hands-on exercises
  • Practice through hands-on exercises how to create threads, thread yielding and sleeping
  • Practice through hands-on exercises how to offload work to a workqueue
Register an account
Already have an account? Log in
(All fields are required unless specified optional)

  • 8 or more characters
  • Upper and lower case letters
  • At least one number or special character

Forgot your password?
Enter the email associated with your account, and we will send you a link to reset your password.