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