曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

OpenAnolis小助手發表於2022-11-22

近日,在 2022 雲棲大會龍蜥峰會 RISC-V 專場上,來自平頭哥 IoT 研發 OS 平臺團隊的負責人、資深技術專家熊健介紹了《平頭哥在 RISC-V 軟體生態的探索》,以下為本次演講內容:

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

(圖/平頭哥資深技術專家熊健)

從底層軟體的適配,語音、影片、安全等子系統的構建,各個作業系統的應用框架的搭建和支援,到上層應用方案設計,平頭哥不斷深耕 RISC-V 技術和生態,端雲一體的豐富生態正在形成。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

(圖/平頭哥RISC-V軟體生態)

平頭哥持續在開源社群貢獻程式碼,在 Linux-5.19 中釋出的 106 個 RISC-V patch 中,有 43 個與玄鐵 CPU 相關,並貢獻了 RV32 Compat 和 Svpbmt 兩個重要功能。

透過下圖看到,其中 Compat 模式能夠支援 32 位應用程式在 64 位 RISC-V 的 Linux 上執行,一方面可以保證 32 位應用程式的相容性,同時也能有效降低系統記憶體和應用記憶體的佔用。Svpbmt 是 MMU 頁面管理的重要屬性,能進一步加強 RISC-V對於 Linux 記憶體管理機制的支援。Crash 是非常強大的除錯工具,用於除錯核心問題,長期以來 Crash 社群一直未能支援 RISC-V 架構,嚴重影響了 RISC-V 平臺的核心除錯。平頭哥為 Crash 社群貢獻了 RV 64 架構的支援方案,解決了多年來離線除錯的短板,為 RISC-V 開發帶來重要意義。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

(圖/平頭哥團隊過去一年在開源社群的貢獻)

我們堅信,安全是未來雲端一體的重要基礎技術。平頭哥從硬體安全到軟體安全提供了全套安全體系方案,研發了全球首個支援相容 GP 標準的 RISC-V 晶片/平臺,並獲得了全球首個基於 RISC-V 架構的 GP TEE 安全評估認證。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

安全的重要特點是從處理器硬體到軟體具備完整、全套的安全體系,我們實現了 OPTEE 全棧的技術能力,可以幫助 RISC-V 架構實現對現有安全軟體生態的相容。

該安全系統能夠支援 RTOS、Linux 和 Android 等多個主流作業系統,可以彈性地支援各種不同領域的安全終端產品,提供了標準的使用者開發介面,保證安全應用的快速遷移。該安全框架已經實現了部分阿里的安全應用,基於玄鐵安全系統的產品可以無縫快速接入阿里巴巴生態,最大化有效複用現有的安全認證資源,減少安全認證的週期,加速產品上市速度。

YoC(Yun on Chip)是一個 RISC-V 軟硬融合端雲一體的開源 AIoT 軟體平臺。透過高效的晶片對接、豐富的系統元件、簡潔的應用框架,能夠助力晶片到終端產品的快速落地。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

針對不同的應用場景, YoC 可以提供接入語音、圖形、影片視覺等各種系統能力,幫助開發者在各個領域快速構建自己的應用解決方案。

YoC 的最新版本 v7.6 已於近期同時在 github 和 gitee 上做了開源釋出。透過支援更多 RISC-V 晶片,提供更多通用示例,進一步提高了開發者的開發效率。

YoC 的影片視覺子系統為需要低成本、高實時的 camera 場景提供了有競爭力的方案。它透過幾個重要元件比如 Media Entity、記憶體子系統、bind 子系統、Profiling 子系統提供多媒體場景需要的功能。同時能夠提供硬體加速和軟體處理的能力,支援 Linux 和 RTOS 兩個系統,可以實現跨系統的平滑遷移。

未來平頭哥會持續在 YoC 上深耕,進一步提高開發者的開發效率,為市場帶來更多有競爭力的產品。

在端側,平頭哥引領 RISC-V 架構首次進入安卓開源生態體系,推動 RISC-V 正式與全球主流移動作業系統生態接軌。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

2021 年 10 月,平頭哥首次在玄鐵處理器上成功執行了 Android 系統,並且執行了 Chrome 瀏覽器等大型應用,實現了業內首次 RISC-V 晶片上對 Android 的支援。今年 4 月份,進一步在 Android 系統上成功執行 TensorFlow Lite,首次實現了 RISC-V 架構對 Android AI 場景的支援。

平頭哥持續推進 RISC-V 在 Android 系統的工作。截止到目前,平頭哥已經在 Android 相關程式碼倉庫做了 100 多處改動,修改或提交了 2000 多個檔案,改動程式碼超過 12 萬行。為 RISC-V 支援 Android 的生態作出了重要貢獻,同時也為未來 RISC-V 支撐高效能軟體棧的應用打下了基礎。

近期,阿里巴巴平頭哥提供的 RISC-V 相容 Android 的程式碼補丁正式被谷歌 Android 的 AOSP 社群收錄進系統原始碼,這是全球首批 RISC-V 相容 Android 的正式補丁。這意味著谷歌 Android 正式開啟了對 RISC-V 架構官方原生的支援,RISC-V 和 Android 兩大陣營的融合駛入了快車道。

Linux 系統平臺也可以為開發者提供產品開發、驗證以及構建產品的系統能力。Linux 系統平臺的軟體棧自底向上分為五個軟體層面,分別是 Linux 核心、裝置驅動、基礎系統、核心元件和系統軟體。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

Linux 核心層,平頭哥開源了各款玄鐵處理器的 Arch 支援,為開發者提供最基礎的系統支援。裝置驅動層面,提供了無劍 600 平臺的成熟裝置驅動方案,並且提供了一套自動化驗證平臺。

基礎系統層提供了 Buildroot 和 Yocto 兩種系統構建方式。Buildroot 比較簡單,容易上手;Yocto 能夠更有效地幫助開發者構建更為複雜的系統,並支援安裝包的管理,可以幫助開發者快速構建所需的 Linux 發行版。

核心元件層提供了可以體現產品核心競爭力的系統元件,包括診斷、圖形、影片視覺、語音、安全等各種系統元件。在系統軟體層,為了提高終端使用者的使用體驗,支援涉及 UI 互動的大型應用和多媒體應用,比如 Gnome、多媒體的 Gstreamere、Libra office、Firefox。

Linux 的系統平臺已開源釋出到 Gitee ,我們也會透過詳盡的軟體技術文件以及官網自動化 AI 機器人和客戶線上支援來幫助客戶和開發者快速上手 Linux 系統平臺。

Anolis OS 是龍蜥社群的開源 Linux 發行版,已經較為成熟,支援多種 CPU 架構,但在此之前尚不支援 RISC-V 架構。平頭哥在近日的 RISC-V 峰會上釋出了無劍 600 高效能 RISC-V 晶片設計平臺,並且基於平臺提供了 SoC 原型曳影 1520。無劍 600 平臺原生提供了 Buildroot 和 Yocto 等系統構建方式,我們也一直在探索尋求支援更多優秀的 Linux 發行版。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

龍蜥社群本次推出了桌面版的開源系統,為 RISC-V 晶片未來在桌面生態的進展奠定了良好的基礎。本次平頭哥與開源作業系統龍蜥 OS 的合作既是平頭哥對於進入桌面領域的重要舉措,也是為 RISC-V 提供真正全面從硬體到基礎軟體到應用層軟體的全面開放效能力的體現。

無劍 600 是一個軟硬一體的全棧平臺,不僅有硬體、有平臺,也有軟體包。基於無劍 600 的第一顆原型樣片曳影 1520 與龍蜥社群、中科院軟體所 PLCT 實驗室聯合打造了從底層的 RISC-V 晶片平臺到龍蜥 OS 再到上層基礎應用和桌面應用的全棧能力。中科院 PLCT 實驗室有著非常強的應用開發能力,為系統提供了 Libre office 、Firefox 等大型軟體的支援。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

平頭哥提供了無劍 600 的硬體平臺,並且協助龍蜥社群做好了系統 bring up 。平頭哥向龍蜥的核心提交了 120 多個關於 RISC-V 的 Arch 以及無劍 600 相關驅動的 patch 貢獻。同時密切配合龍蜥社群和 PLCT 實驗室適配相關軟體,也搭建了曳影 1520 雲上實驗室,並開放了使用者體驗,使用者可以透過遠端訪問實現真實的體驗。

透過與龍蜥社群和 PLCT 實驗室聯合的技術攻關,我們已經成功在曳影 1520 上執行了龍蜥的桌面級作業系統,下圖為相關實拍照片以及系統截圖。

曳影1520已成功執行Anolis OS!詳聊平頭哥在RISC-V軟體生態的探索和實踐 | 龍蜥技術

這是 RISC-V 架構第一次執行 Libre office 等大型應用軟體,對 RISC-V 進入未來桌面級領域執行大型複雜應用具有重要意義。此外,我們也成功執行了 Hexo 和OpenRocket 這種基於 nodeJS 和 Java 的應用。

未來,我們希望與龍蜥社群一起為 RISC-V 架構執行更多不同種類的軟體,也非常期望可以與龍蜥社群保持密切合作,一起取得更好的成績。

相關連結地址:

RISC-V ARCH SIG 地址:

曳影 1520 雲上實驗室地址:

關於龍蜥峰會 RISC-V 專場

課件獲取方式:

【PPT 課件獲取】:關注微信公眾號(OpenAnolis),回覆“龍蜥課件”即可獲取。有任何疑問請隨時諮詢龍蜥助手—小龍(微信:openanolis_assis)。

【影片回放】:影片回訪已上傳至龍蜥官網: 檢視。

—— 完 ——


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2924631/,如需轉載,請註明出處,否則將追究法律責任。

相關文章