如何在RISC-V芯片上运行Android系统?

根据1月23日的新闻,平头芯片开放社区在本周四发布的视频显示,Android 10系统(代号为Android10系统)可以在平头炫铁910RISC-V处理器上顺利运行。

对于RISC-V生态系统而言,这是一个里程碑式的进展,对于Arm和Android联盟来说可能是个坏消息,因为基于RISC-V64架构的Android开放源代码仓库已在Pingtou Ge芯片开放社区中启动。

随着高性能RISC-V芯片的推出和软件的移植,RISC-V将给Arm带来更大的挑战。

经过几年的快速发展,RISC-V芯片在生态要求相对较低的物联网市场中取得了不错的成绩。

RISC-V芯片对低性能的ArmCortex-M系列芯片产生了一定的影响。

如今,RISC-V可以平滑Android系统,这可能会进一步影响以Arm为主导的移动终端市场。

Android和Arm的组合支持全球十亿部智能手机,电视和可穿戴设备,为许多智能设备带来更好的体验,并吸引了数百万应用程序开发人员。

这是一个复杂的生态系统。

突破的难度巨大。

在RISC-V芯片上运行Android系统面临至少三个明显的挑战:首先,将Android生态系统移植到RISC-V上需要大量代码,并且涉及许多模块。

整个项目包含727个子项目以及更多子项目。

预编译的项目;其次,很难优化体系结构级别。

为了使Android系统在RISC-V芯片上更流畅地运行,有必要在汇编指令级别上实现本地方法库,音频和视频库,加密和解密库。

性能优化;第三,Android系统有多种开发语言,包括C ++ / C ++,汇编,JAVA,go,RS,rust等。

据悉,Android软件包主要包括五个级别的近一千个软件包:系统内核,硬件抽象,运行时,框架层和应用程序。

与处理器体系结构有关的迁移工作主要包括本地库和ART支持以及Linux内核支持。

构建系统支持三个主要部分。

在本地库和ART支持方面,Pingtou已完成对仿生,ART,Clang / LLVM,V8,NDK,VNDK,OpenGL和其他基于Android开放源代码项目(AOSP)的软件包的RISC-V体系结构支持:动态链接和系统,用于仿生调用,浮点数学库支持。

此外,基于ART的DEX,dex2oat,JNI调用的实时解释和执行,以及基于ART的RISC-V体系结构的JIT编译和优化大大提高了RISC-V平台上JAVA程序执行的效率。

在Linux内核支持方面,RISC-V体系结构Linux内核首次适用于Android系统,改进了对Linux内核的Clang / LLVM编译支持,并修复了许多Clang / LLVM问题。

就Build系统的支持而言,Android的编译框架主要由蓝图和soong组成。

Pingtou集成了编译框架,预编译工具链,本地方法库,模拟器,应用程序和服务模块,并首次实现了Android的RISC-V架构。

建立系统支持。

除了在软件级别进行大量移植工作之外,在硬件级别还需要高性能处理器的支持。

这次运行Android 10系统的RISC-V芯片是Pingtou在2019年发布的高性能处理器Xuantie910。

这次运行RISC-V版本的Android系统的SoC集成了3核Xuantie 910和单核。

GPU。

基于台积电的28nm工艺,CPU频率可以达到1.2GHz。

需要指出的是,即使RISC-V可以平滑Android 10系统,但要撼动Arm在智能移动终端市场上的优势,还有很长的路要走。

改善芯片性能和构建软件生态系统还有很长的路要走。

RISC-V需要充分利用开源的优势。

Leifeng.com了解到,Pingtou将开源所有现有工作结果的相关代码,基于RISC-V64架构的Android开源仓库将在其芯片开放社区中启动。

支持RISC-V的Android系统已经开放源代码,更多基于RISC-V的IoT设备也将很快上市。

但是我们还应该期望的是RISC-V将在新的应用程序市场中带来许多意外的应用程序。

在5G和AI时代,将有Wintel,Arm和Android的新结合。

产品知识/行业、品牌资讯