User Tools

Site Tools


gsoc:2023-gsoc-zephyr

Google Summer of Code 2023: Zephyr projects

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:

  • Prototype the basic HTTP 2.0 server using POSIX APIs (complexity analysis, instrumentation & telemetry, performance benchmarks)
  • Port the basic HTTP server to Zephyr (initial Kconfig, tests, samples, documentation)
  • Test Plan and Tests to demonstrate 3 mandatory features: REST API, TLS, and Compressed Resources in Memory (CRiMe)
  • Test Plan and Tests to demonstrate 1 feature from: JSON support, Filesystem support, Web-based Dashboard, or OAuth
  • Generate test coverage reports using the Zephyr Test Framework
  • Demonstrate HTTP server functionality with one of Zephyr's many supported boards or Qemu

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:

  • Chris Friedt - SWE / ASIC FW at Meta (cfriedt AT meta.com) - POSIX API Maintainer
  • Robert Lubos - SWE at Nordic Semiconductor (Robert.lubos AT nordicsemi.no) - Network Subsystem Maintainer

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:

  • Contribute any necessary improvements back to the Zephyr Project.
  • Contribute any necessary improvements back to the SOF.

Mentor:

  • Iuliana Prodan - iuliana.prodan@nxp.com

LVC21F 106 Sound Open Firmware meets Zephyr

gsoc/2023-gsoc-zephyr.txt · Last modified: 2023/03/27 11:59 by IulianaProdan