Android on RISC-V
平头哥基于安卓开源项目(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 系统的支持。
RISC-V 作为一个开源处理器架构,从 2011 年诞生之初就为物联网时代 CPU 的发展提供了非常大的想象空间。近几年,主流的软件生态陆续实现了对 RISC-V 架构的支持,唯独在安卓生态系统方面进展缓慢,主要的原因包括:
- 移植代码量大,涉及模块多,整个工程包含727个子工程和多个预编译工程;
- 架构级优化难度大,为了让安卓可以更加流畅的运行,需要在汇编指令层面实现对本地方法库、音视频库、加解密库等的性能优化;
- 开发语言多种多样,包括 C/C++,汇编,JAVA,go,RS,rust等。
基于现有的工作成果,平头哥将开源全部的相关代码并与全球开发者一起推动 AOSP on RISC-V 的代码完善、性能优化与应用落地。
安卓作为第一大移动设备操作系统,支撑了全球数十亿部手机、电视与可穿戴设备,拥有数百万应用开发者。在碎片化的物联网时代,经历了时间检验的安卓系统也将是开发者和应用解决方案商的重要解决方案之一。安卓与RISC-V 的强强联合,将极大降低物联网设备和应用开发的门槛,推动百花齐放的产业局面。
目前,基于 RISC-V 64 架构的安卓开源仓库已在 OCC 上线,复制链接 https://occ.t-head.cn/development/series/Index?id=3872715572777455616&type=kind&softPlatformType=8
开源网址: