谷歌編程之夏與 Zephyr RTOS 項目介紹
谷歌編程之夏(GSoC)是一個谷歌舉辦的國際年度項目,每年都在夏季舉辦。當貢獻者們參與並完成一個 自由開源軟體 的編碼項目,谷歌 就會給他們發放 津貼。谷歌編程之夏於 2005 年推出,於每年 5 月至 8 月舉行。項目創意由參與開源軟體開發的主辦組織提交,但學生也可以提出自己的項目創意。
今年,該項目向 18 歲或以上的任何人開放 —— 不僅限於學生和應屆畢業生了。參與者通過編寫軟體獲得報酬,其 津貼 的金額取決於他們所在國家/地區的 購買力平價。
LCTT 譯註:以往,這個活動只允許在校學生參與,今年條件放開,只需年齡 18+ 即可,對參與者的貢獻時長要求也降低了,儘可能地讓更多人參與進來。不過,今年的報名通道在 4 月 19 日就截止了,大家有興趣的話明年可以關注一下。
這也是 Zephyr 項目第一次作為 Linux 基金會的項目,參與到谷歌編程之夏中。讓我們一起歡迎這些貢獻者及其項目吧!
項目一:基於 Zephyr 的 Arduino 模塊
1 個貢獻者(350 小時)。
Arduino 是一個流行的框架,它為嵌入式設備編程提供了一個簡化的介面。最近,Arduino 採用 mbed OS 作為其一些新設備的基礎 RTOS。通過這項工作,他們將 Arduino Core 作為獨立的抽象層,從 Arduino Core for mbed 中分離出來。這為在其他操作系統上利用 Arduino Core 開闢了可能性。
該項目的想法就是創建一個利用 Arduino Core 的 Zephyr 模塊,以便開發人員在與 Arduino 兼容的設備上使用 Arduino 框架時,可以使用 Zephyr 作為底層操作系統。對用戶的好處包括:
- 可以訪問 Arduino API 以及高級 Zephyr 功能
- 得益於 Zephyrs 的設備支持,用戶可以選擇標準 Arduino 生態系統更廣泛的設備
- 能夠重複使用 Arduino 工具,如 Arduino IDE 和豐富的庫
Arduino Core 使用 LGPL 許可證,Zephyr 使用 Apache 2 許可證。這意味著該項目的開發很可能需要脫離主分支,並在單獨的倉庫中進行,以保持代碼和許可證分離。有關這方面的歷史討論,請參閱 #22247,有關 Arduino 核心架構之前的早期嘗試,請參閱 soburi/arduino-on-zephyr。
貢獻者的任務是:
- 實現一個基於 Arduino Core 的准系統模塊,可以為任何目標編譯(不具備功能性,可能在 QEMU 中)
- 基於 Zephyr,使用 Arduino API 實現一個通用外圍設備,例如 Serial
- 以一個物理板為目標,例如 Arduino Zero
導師:
Jonathan Beri – Golioth 和 Zephyr TSC 的首席執行官 Alvaro Viebrantz – Golioth 和 Google GDE 的創始工程師
代碼許可證: LGPL
貢獻者詳細信息:
- 姓名:Dhruva Gole
- 項目博客:https://dhruvag2000.github.io/Blog-GSoC22/
- 項目海報:(題圖)
關於貢獻者:
Dhruva 是一名電氣工程專業的本科生。他的興趣廣泛,從嵌入式軟體開發到硬體設計,在 SBC、微控制器和嵌入式 Linux 平台方面擁有豐富的工作經驗。
項目二:Zephyr 的 Apache Thrift 模塊
一個貢獻者(350 小時)。
Apache Thrift 是一個 IDL 規範、RPC 框架和代碼生成器,它抽象出傳輸和協議細節,讓開發者專註於應用邏輯。它適用於所有主流操作系統,支持超過 27 種編程語言、7 種協議和 6 種底層傳輸方式。最初,它於 2007 年在 Facebook 開發,隨後與 Apache 軟體基金會共享。
在 Zephyr RTOS 中支持 Thrift 將使社區受益匪淺。它將帶來新的軟體和硬體技術、新產品以及雲集成的其他方式。 Thrift 也可以用於幾乎任何傳輸,因此,它是 Zephyr 支持的許多不同物理通信層的自然選擇。該項目的想法是使概念驗證 Thrift for Zephyr 模塊 形成以供上游使用。為此,貢獻者必須:
- 對 Thrift 功能(協議、傳輸)執行額外的集成
- 使用 supported board 或 Qemu 編寫其他示例應用程序
- 使用 Zephyr 測試框架 編寫其他測試並生成覆蓋率報告
- 確保模塊遵循適當的 編碼指南 並滿足 模塊要求
- 將任何必要的改進貢獻回 Apache Thrift 項目
- 將任何必要的改進貢獻回 Zephyr 項目
導師:
- Christopher Friedt – Meta 的 SWE / ASIC FW 和 Zephyr TSC 成員
- Stephanos Ioannidis – Zephyr CXX 子系統維護者
代碼許可證: Apache 2.0
貢獻者詳細信息:
- 姓名:Young
關於貢獻者: Young 是一名通信工程專業的學生,他將攻讀計算機工程碩士學位。他興趣廣泛,從前端開發到硬體設計,在 Web、IoT 和嵌入式平台方面擁有豐富的工作經驗。2021 年他設計的一款搭載 RISC-V 64 處理器的低成本單板機被多家極客媒體報道。
本文 Google Summer of Code + Zephyr RTOS 首發於 Linux 基金會。
via: https://www.linux.com/news/google-summer-of-code-zephyr-rtos/
作者:The Linux Foundation 選題:lkxed 譯者:lkxed 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive