1)概述
安卓(Android)是全球主流移动设备操作系统,拥有丰富成熟的应用生态,其系统核心代码部分即AOSP(Android Open Source Project)。AOSP开源仓库对RISC-V移植补丁的合入,标志着Android应用生态与RISC-V国际生态的融合,也为RISC-V在高性能应用场景的商业落地打下基础。
平头哥在Android基础组件和框架、Chrome浏览器、安全、多媒体、视觉AI和诊断体系等方面做出了重要的贡献。
2)RISC-V ISA的安卓软件栈支持
安卓软件栈主要包括系统内核、硬件抽象、运行时、框架层、应用五个层次的近千个软件包。其中作为基础的Linux内核、GCC工具链、Clang/LLVM工具链已经支持了RISC-V架构;因此对的主要支持工作集中于RISC-V ISA的编译框架支持、Bionic C库的ISA支持、ART JAVA运行时的ISA支持、RVB-ICE开发板板级的驱动对接、OPENGL的对接、Chromium webview浏览器几个部分;其他依赖包括NDK、VNDK、emulator、unwind解析库、编解码库等等。
3)Android接收RISC-V补丁
由阿里巴巴平头哥贡献的RISC-V移植安卓的代码补丁集合,被安卓AOSP社区收录进系统源代码,成为全球首批RISC-V兼容安卓的正式补丁。这意味着谷歌安卓开启了对RISC-V架构的官方原生支持,RISC-V与安卓两大体系的融合驶入快车道。
作为近年备受瞩目的新架构,RISC-V与安卓系统的适配,被业界普遍视为软硬件融合发展的新方向。但因RISC-V架构仍在演进,而安卓系统已成熟,打通两大体系的技术挑战十分艰巨,仅编译系统、LLVM编译工具链、C函数库等基础技术就需要大量的优化适配工作。
2021年10月,平头哥最早完成了安卓系统的整体移植,在玄铁C910处理器上首次兼容安卓10.0系统,并运行Chrome浏览器等应用;2022年4月,玄铁C910在安卓12.0系统上成功运行TensorFlow Lite,集成多项第三方关键组件,证明了RISC-V可兼容不断更新的安卓系统。
过去两年间,平头哥在RISC-V领域的一系列技术突破及产业化落地,极大提振业界对RISC-V的信心,促成谷歌安卓对RISC-V架构提供官方支持。
2022年6月,谷歌与平头哥达成公司层面的贡献者许可协议(CLA,Contributor License Agreement),双方就安卓系统支持RISC-V架构等工作进行技术合作和分享。
9月30日,谷歌安卓AOSP社区开始接收RISC-V补丁。平头哥率先提交关于Bionic C库、模拟器、三方上游模块等76项基础代码补丁,其中,与AOSP社区合作直接并入官方补丁18项,拆分合入C库关键补丁12项,外部项目合入补丁4项,成为全球首批安卓系统吸纳的RISC-V补丁。
4)RISC-V成功运行Android 12
在2022 RISC-V国际峰会上,阿里平头哥展示了RISC-V架构与安卓体系融合的最新进展:基于SoC原型曳影1520,RISC-V在安卓12(AOSP)上成功运行多媒体、3D渲染、AI识物等场景及功能。这意味着安卓系统在RISC-V硬件上得到进一步验证,两大体系融合开始进入原生支持的应用新阶段。
在大部分基础功能成功实现后,RISC-V与安卓的融合进入应用验证领域,面临更多模块缺失、接口不一致等技术和系统挑战。比如在车载场景中,硬件层需重新设计总线以支持多路输入,系统层要兼容外设硬件、满足更高安全需求,应用层还需打通和协调多个车载子系统。
“为更好补齐两大系统融合的生态短板,平头哥着重在测试、性能优化及开源协作等方面推进根本问题的解决。”RISC-V国际基金会安卓技术组(Android SIG)主席、平头哥技术专家毛晗说。据他介绍,平头哥修复及澄清了28%的CTS和57%的VTS测试用例集,用例通过率大幅提升至更稳定的89%及78%,使得测试完成从单位模块到整体系统的飞跃;针对安卓系统里的Bionic、Art和图片编解码等关键原生功能,平头哥通过软硬一体优化,最高提升60%的性能。
基于曳影1520,平头哥实现了从底层硬件到安卓系统再到上层应用的完全打通,相关成果demo在2022 RISC-V国际峰会上首次演示:一个demo视频演示多路编解码能力,编码时长从每帧100ms大幅压缩到5ms;另一个demo演示高性能3D渲染,提升了两大体系融合的性能天花板。
“在完成RISC-V与安卓10系统的兼容、安卓12系统的深度验证后,平头哥推动两大体系融合挺进第三阶段:让RISC-V得到安卓原生支持,真正进入安卓系统上游代码,实现更多预编译组件和系统镜像的稳定编译和输出,推进两大体系的协同演化。”毛晗介绍说。据了解,目前,平头哥已提交80个RISC-V技术补丁,其中50个被吸纳入安卓AOSP原生系统中去,是两大体系融合的关键推动者。