Nordic Semiconductor is a proud Platinum sponsor of the Zephyr Developer Summit 2022. We hosted a variety of talks and hands-on sessions throughout the event days and gave out free hardware (nRF52840 Dongle).
If you couldn't attend this year's Zephyr Developer Summit, you can find a list below with descriptions and links to technical talks about Zephyr by Nordic.
Zephyr Devicetree Mysteries, Solved - Marti Bolivar
Devicetree is a foundational part of Zephyr. It is a domain-specific language and data format used throughout the project for describing the hardware a Zephyr application runs on, as well as its initial configuration. Despite its widespread use, however, it is often regarded as a mysterious area, and it can be difficult to diagnose build errors related to devicetree. This talk describes the design and implementation of the Zephyr's devicetree subsystem, going beyond the user-facing API to describe implementation details underlying common confusion.
Mastering Zephyr Driver Development - Gerard Marull Paretas
In this presentation, we'll cover a broad range of topics related to Zephyr driver development, including: General guidelines about Zephyr device drivers and best practices, The role of Devicetree and Kconfig in device drivers. Application-specific topics: out-of-tree drivers, custom driver APIs... Hands-on: implementing a real driver.
Twister V2: New Framework for Testing Based on Pytest. Overview & Current Status - Maciej Perkowski
The presentation will be focused on Twister v2: the main concepts behind it and the current state of its implementation. A prototype based on pytest will be presented. The goal is to show if/how the pytest-based approach and its tools can be used to create a solid test framework for Zephyr's needs. The audience will be introduced to the process behind Twister v2 and encouraged to contribute to its fulfillment.
How to Get Your Zephyr Patches Merged - Carles Cufí & Marti Bolivar
This talk is for everyone who is interested in contributing code or documentation to Zephyr, and wants to learn how to do so effectively. We'll cover all the details, including: - deciding whether or not to send your contribution upstream - how to structure your contribution - how to create your initial pull request - what to do when you get continuous integration (CI) results - what to do when you get review feedback - how to update your pull request to address CI problems or review comments - what to do when things seem slow Carles and Martí are both longtime Zephyr developers and the release managers for Zephyr v3.1, so they have years of real-world experience both submitting and merging pull requests to Zephyr.
USB Support in Zephyr OS - Johann Fischer
For a long time we have only USB device support in Zephyr OS, and unfortunately one with many drawbacks. Since a few months Johann is working on the new USB device support, and and recently also on the USB host support. Johann will make an overview of the overhauled USB device support in Zephyr OS, from the USB controller driver (UDC) API and tips on how to implement a new controller driver, to the USB device stack interface to classes or functions. In the second part the Johann will present the basic USB host support and USB host controller API, as deep as it is developed at the time of the presentation. The focus will be on testing the entire USB subsystem. Also the use of the USBIP protocol will be demonstrated.
Deep Dive into Pin Control in Zephyr - Gerard Marull Paretas
Pin control is a feature that is fundamental in most, if not all, systems. It allows configuring signal multiplexing, pin properties such as bias, drive mode, etc. Efforts have been made to standardize the way pin control works in Zephyr, leading to the new pinctrl API. We will talk about the pinctrl API in this presentation: its design principles, similarities with Linux, examples, etc.