User Tools

Site Tools


gsoc:2024-gsoc-zephyr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
gsoc:2024-gsoc-zephyr [2024/01/22 11:55]
IulianaProdan [Project #2 Implement a driver for Audio NXP Platform Driver in Zephyr]
gsoc:2024-gsoc-zephyr [2024/02/07 17:23] (current)
kartben
Line 31: Line 31:
  
 **To be updated** **To be updated**
- 
-==== Project #1   HTTP Server Implementation ==== 
- 
-1 contributor full-size (350 hours). 
- 
-Zephyr has historically incorporated the [[https://​github.com/​civetweb/​civetweb|CivetWeb]] embedded HTTP server. However, Zephyr'​s CivetWeb module was [[https://​github.com/​zephyrproject-rtos/​zephyr/​pull/​46061|deprecated]] and subsequently module [[https://​github.com/​zephyrproject-rtos/​zephyr/​pull/​46746|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 [[https://​github.com/​zephyrproject-rtos/​zephyr/​issues/​46758|replacement for CivetWeb]]. The proposed design will be able to take advantage of Zephyr'​s many existing building blocks. 
- 
-  * [[https://​docs.zephyrproject.org/​latest/​develop/​test/​ztest.html|ZTest Framework]] 
-  * [[https://​docs.zephyrproject.org/​latest/​connectivity/​networking/​api/​http.html|HTTP]],​ [[https://​docs.zephyrproject.org/​latest/​connectivity/​networking/​api/​websocket.html|WebSocket]],​ [[https://​docs.zephyrproject.org/​latest/​services/​misc.html#​json|JSON]],​ and [[https://​github.com/​zephyrproject-rtos/​mbedtls|mbedTLS]] libraries 
-  * [[https://​docs.zephyrproject.org/​latest/​services/​portability/​posix.html|POSIX API]] support for socket, threads, and filesystem operations 
-  * [[https://​docs.zephyrproject.org/​latest/​build/​kconfig/​index.html|Kconfig]] and [[https://​docs.zephyrproject.org/​latest/​build/​cmake/​index.html|Build System]] to fine-tune built-in server options 
-  * [[https://​docs.zephyrproject.org/​latest/​kernel/​iterable_sections/​index.html|Iterable Section]] support, for flexible specification of HTTP services and resources 
- 
-{{ :​gsoc:​gsoc-2023-httpd.png?​400 | 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 [[https://​docs.zephyrproject.org/​latest/​guides/​test/​ztest.html|Zephyr Test Framework]] 
-  * Demonstrate HTTP server functionality with one of Zephyr'​s many [[https://​docs.zephyrproject.org/​latest/​boards/​index.html|supported boards]] or [[https://​docs.zephyrproject.org/​latest/​guides/​networking/​qemu_user_setup.html|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. 
  
gsoc/2024-gsoc-zephyr.1705924506.txt.gz · Last modified: 2024/01/22 11:55 by IulianaProdan