将安卓移植到RISC-V是最大的障碍

2021-10-21 16:34 来源:电子说

电子发烧友网报道(文字/周开阳)RISC-V作为一种开源架构,目前已经得到了很多主流开源软件和系统的支持,很多RISC-V厂商都把Linux作为自己的宣传点。可以合理的说,同样是开源的安卓系统(AOSP),也应该是RISC-V突破的重点之一。AOSP和AOSP的结合可以进一步扩大RISC-V在消费类产品上的版图,但是现在关于它的消息很少。

移植安卓RISC-v。

安卓作为全球最大的移动操作系统,已经覆盖了大量的手机、电视、可穿戴设备以及众多物联网产品,开发者不计其数,但RISC-V在安卓阵营的进展依然缓慢。为什么呢?首先是代码移植的问题。想要流畅运行安卓并兼容,必须移植大量代码,如Clang/LLVM等工具链,优化音视频编解码器和多个第三方库。

早在今年年初,阿里巴巴子公司平投歌就宣布,安卓10成功移植到自研的铁铉C910 RISC-V内核,但只实现了系统启动和一些基本的系统操作。现在,随着移植的进一步操作,平投哥在安卓NDK、仿生、ART、Chrome等方面都有了更大的进步,实现了网页浏览、图片浏览、邮件、安卓10蛋、Snake apk等。

移植开发者选择了平头阁的RVB-ICE开发板,采用了通用智能数字SoC芯片ICE,构建在铁铉C910 RISC-V 64GC的框架上,集成了两个工作频率高达1.2GHz的C910内核,铁铉910作为一个拥有13级流水线的RISC-V内核,曾经在7.1CoreMark/MHz下表现最好。此外,ICE芯片还集成了一个NPU和GPU单元。虽然RISC-V在GPU方面做了很大的努力,但目前还不成熟。已知这个开发板使用的GPU可能是Vivante GC8000UL。

除了处理单元,开发板还配备了4GB LDDR4内存和16GB eMMC闪存,可以满足安卓系统的基本需求。在连接方面,RVB-ICE支持RJ45千兆以太网、蓝牙和WiFi连接,并配备7英寸1024x600触摸电容屏幕。

今年6月宣布的时候,平投阁开启了开发商对于开发板的申请。现在,这块开发板也已经在硅速科技海外门店上线,预售价格399美元,被海外开发者抢购一空,可见安卓在RISC-V开发者社区的吸引力。

RISC-V和Java。

在安卓的软件开发生态中,Java是至关重要的一环。过去,OpenJDK的上游不支持RISC-V,但这种困境即将改变。华为已经在今年完成了基于RV64G的毕升JDK11的初步移植,阿里巴巴也在内部开发中将华为提交的补丁应用到了自己的龙井11上,未来还会推出对RISC-V的支持。

今年9月底,来自华为的费阳在OpenJDK社区发起倡议,提出将OpenJDK移植到RISC-V上,这个名为“RISC-V移植”的项目的目的是在RISC-V平台上提供OpenJDK移植的完整版本。迁移将支持RV64GV ISA,完全兼容RISC-V ISA规范。未来是否支持RV32G等ISAs,还要看社区态度。

华为在今年5月10日基于JDK主线快照做了一个完整的RISC-V移植(包括模板解释器、C1和C2 JIT),并在QEMU虚拟机和HiFive enhanced开发板上通过了JTReg测试。目前大部分Java程序都可以运行。但是目前迁移不支持VectorAPI和ForeignAPI,对向量运算的支持还在实验中,未来还需要更多的测试。目前项目立项提案处于表决状态,获批后很可能通过代码评审赶上JDK 18进度。RISC-V上的Java开发生态是光明的。

总结

虽然在将安卓移植到RISC-V方面已经有了可喜的进展,但距离完整的生态还有很大的差距,还有大量的代码移植和优化工作要做。此外,即使拥抱安卓软件生态系统,RISC-V现有的硬件也不足以支持其作为手机处理器的可选架构。另一方面,RISC-V安卓很有可能在物联网领域占据先机。

免责声明:本文由电子发烧友原创。转载时请注明以上出处。如需加入群内交流,请添加微信elecfans999,如需提交面试,请发送至huangjingjing@elecfans.com。

延伸 · 阅读