目前,基于RISC-V 64 架構的安卓開源倉庫已在OCC上線。
萬里征途邁出第一步,基于RISC-V的安卓10系統來了。
今天,平頭哥完成了安卓10對RISC-V的移植并開源了全部相關代碼。從視頻中可以看到,安卓10系統已經可以在玄鐵910芯片上流暢運行。
平頭哥基于安卓開源項目(AOSP)實現了對RISC-V架構的支持。安卓軟件棧主要包括系統內核、硬件抽象、運行時、框架層、應用五個層次的近千個軟件包,其中涉及到處理器架構相關移植工作主要包含本地庫與ART支持、Linux內核支持、build系統支持三大部分:
本地庫與ART支持:完成bionic、ART、Clang/LLVM、V8、NDK、VNDK、OpenGL等軟件包的RISC-V架構支持:為bionic添加動態鏈接、系統調用、浮點數學庫的支持;基于ART實現了RISC-V架構的DEX實時解釋執行、dex2oat、JNI調用以及JIT編譯優化,極大地提高了JAVA程序在RISC-V平臺上執行的效率。
Linux內核支持:完善了Clang/LLVM對Linux內核的編譯支持,修復了大量Clang/LLVM的問題,首次將RISC-V架構的Linux內核與安卓系統進行了適配。
Build系統支持:安卓的編譯框架主要由blueprint和soong構成,平頭哥整合編譯框架、預編譯的工具鏈、本地方法庫、模擬器,應用和服務等模塊,首次實現了RISC-V架構對安卓build系統的支持。
物聯網時代更需開放多元的系統
在當下碎片化的物聯網時代,單一的封閉的IP化芯片產品很難適應多場景、定制化的需求。而開源硬件則會帶給行業更多想象的空間。
RISC-V作為一個開源處理器架構,從2011年誕生之初就為物聯網時代CPU的發展提供了非常大的想象空間。近幾年,主流的軟件生態陸續實現了對RISC-V架構的支持,唯獨在安卓生態系統方面進展緩慢,主要的原因包括:
1)移植代碼量大,涉及模塊多,整個工程包含727個子工程和多個預編譯工程;
2)架構級優化難度大,為了讓安卓可以更加流暢的運行,需要在匯編指令層面實現對本地方法庫、音視頻庫、加解密庫等的性能優化;
3)開發語言多種多樣,包括C/C++,匯編,JAVA,go,RS,rust等。
基于現有的工作成果,平頭哥將開源全部的相關代碼并與全球開發者一起推動AOSP on RISC-V的代碼完善、性能優化與應用落地。
代碼開源,共建系統
安卓作為第一大移動設備操作系統,支撐了全球數十億部手機、電視與可穿戴設備,擁有數百萬應用開發者。在碎片化的物聯網時代,經歷了時間檢驗的安卓系統也將是開發者和應用解決方案商的重要解決方案之一。安卓與RISC-V的強強聯合,將極大降低物聯網設備和應用開發的門檻,推動百花齊放式產業發展。
目前,基于RISC-V 64 架構的安卓開源倉庫已在OCC上線,掃描下方二維碼即可查看開源倉庫。
開發者可以基于這個倉庫進行二次開發,同時不受限于玄鐵C910 CPU的限制,可對接自己的芯片進行調試。
平頭哥此次代碼開源,為物聯網產業革命鋪平了道路,使眾多開發者能夠專注于創新,并將創新落地,推出卓有成效地改善用戶體驗的產品。