文章来源:芯片开放社区,作者:OCC编辑
万里征途迈出第一步,基于RISC-V的安卓10系统来了。
点击链接查案演示视频:
平头哥芯片开放社区(OCC)occ.t-head.cn今天,平头哥完成了安卓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上线,点击下方链接即可查看开源仓库
https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.429d79d4RukyVY&id=3872786431139786752
开发者可以基于这个仓库进行二次开发,同时不受限于玄铁C910 CPU的限制,可对接自己的芯片进行调试。
平头哥此次代码开源,为物联网产业革命铺平了道路,使众多开发者能够专注于创新,并将创新落地,推出卓有成效地改善用户体验的产品。