Table of Contents

Google Summer of Code 2023: Zephyr projects

Main GSoC Linux Foundation page: How to apply, deadlines, other workgroups, ...

Zephyr Introduction

What is Zephyr?

The Zephyr Project is a Linux Foundation hosted Collaboration Project. It’s an open source collaborative effort uniting developers and users in building a best-in-class small, scalable, real-time operating system (RTOS) optimized for resource-constrained devices, across multiple architectures.

The Zephyr Project is a neutral project where silicon vendors, OEMs, ODMs, ISVs, and OSVs can contribute technology to reduce costs and accelerate time to market for billions of connected embedded devices. The software is a perfect choice for simple connected sensors, LED wearables, modems, and small wireless gateways. Because Zephyr is modular and supports multiple architectures, developers can create a solution that meets their needs.

As an open source project, the community evolves the project to support new hardware, developer tools, sensors, and device drivers. Improvements are frequently delivered to incorporate enhancements in security, device management capabilities, connectivity stacks, and file systems.

Zephyr Community

Website - www.zephyrproject.org

Git - https://github.com/zephyrproject-rtos

Mailing Lists - http://lists.linuxfoundation.org/mailman/listinfo/automotive-discussions

Discord channel - https://discord.com/invite/Ck7jw53nU2

Code Licenses: mostly Apache 2.0, MIT for own code, otherwise as upstream

Pre Read If you are New to Zephyr: https://github.com/maksimdrachov/zephyr-rtos-tutorial

Project Proposals

To be updated

Project #1 HTTP Server Implementation

1 contributor full-size (350 hours).

Zephyr has historically incorporated the CivetWeb embedded HTTP server. However, Zephyr's CivetWeb module was deprecated and subsequently module removed due to complications of maintaining a fork of a 3rd-party project in an external module.

The project has specified many desired features for a new, fully-integrated, and in-tree replacement for CivetWeb. The proposed design will be able to take advantage of Zephyr's many existing building blocks.

 HTTP Server Layers

An API layer diagram of the project is above. The GSoC contributor is responsible for the items shown in Grey. Please see GitHub links for full details.

The goal of the GSoC project is the following:

The successful candidate must be able to demonstrate writing a simple socket-based program in C that presents a “Hello, world!” web page to the user with a WireShark capture of the network traffic between the client and host.

Candidates must ensure that they have made a clear choice which feature they have chosen to implement (JSON support, Filesystem support, Web-based Dashboard, or OAuth) and explain how that feature would benefit the community.

Difficulty: High.

Mentors:

Skills that are Required: Zephyr RTOS,C,CXX,Python,WireShark

Code License: Apache 2.0.

Project #2 Implement a driver for Audio NXP Platform Driver in Zephyr

1 contributor full-size (350 hours).

Sound Open Firmware (SOF) is an open source audio Digital Signal Processing (DSP) firmware infrastructure and SDK. SOF provides infrastructure, real-time control pieces, and audio drivers as a community project. SOF developers have been working on moving from Xtensa OS (XTOS) to Zephyr RTOS as the real-time OS.

SOF has support for i.MX8QM, i.MX8QXP, i.MX8MP.

The SOF community has moved the SOF Micro Kernel from XTOS to Zephyr, but still some work to do on the platform drivers.

The scope of this project is to implement a NXP Audio Platform Driver (SAI and/or ESAI) in Zephyr.

To achieve that, the contributor must:

Mentor:

LVC21F 106 Sound Open Firmware meets Zephyr