电子发烧友网

电脑版
提示:原网页已由神马搜索转码, 内容由www.elecfans.com提供.
创作中心
发布

谷歌终止官方支持?RISC-V坎坷的安卓适配之路

E4Life来源:电子发烧友网作者:周凯扬2024-05-12 08:042752次阅读
电子发烧友网报道(文/周凯扬)我们看到随着更多RISC-V内核具备运行Linux系统的高性能,加之开源社区的不懈努力,RISC-V对于各种Linux发行版系统的支持已经越来越完善,RISC-V的平板、笔记本、SBC也陆续推出。然而在安卓这一用户量最大的移动端OS上,这么多年以来,RISC-V的适配进展都相对有限。

对于任何一个OS而言,完成新架构硬件的移植都不是一件易事。安卓作为一个开源操作系统,移植自由度极高,但如果有谷歌官方的开发支持自然更容易实现。好在谷歌已经参与到RISC-V的适配工作中来,提供AOSP支持并接受适配RISC-V设备的补丁。正当大家以为基于RISC-V的安卓手机近在咫尺之际,谷歌却在近日“停止”了对RISC-V的支持。

谷歌停止ACK通用内核对RISC-V的支持

近日,开发者社区发现,在AOSP项目中,一名谷歌开发者提交了一系列补丁,说明为删除ACK对risc64的支持。在详情页面中,可以看到这些补丁已经通过了审查,并将更新至Android-mainline分支中。这意味着如果想要编译RISC-V版本的安卓,将无法继续使用谷歌的ACK内核,而是要借助自己创建或开源社区的分支。

ACK(安卓通用内核)旨在提供一个统一的Linux内核版本,支持安卓设备开发的同时,解决内核碎片化的问题,减少安卓OEM在内核方面进行定制开发的工作。其中较新的版本也被称为GKI(通用内核映像),将与硬件无关的通用核心内核代码与GKI模块、硬件专用供应商模块分离开来。

可以说ACK是所有安卓产品内核的基础,缺乏这一官方支持无疑会使得RISC-V安卓的适配工作大受打击。不少人推测此举可能是谷歌打算停止对RISC-V支持的前奏,然而根据谷歌自己的说法,由于迭代速度较快,他们尚不能为所有供应商提供一个单一通用的映像。

事实上,根据开发者社区的回复,Android/riscv64在AOSP项目的工作其实并没有变化,只不过目前官方的GKI内核停止对RISC-V支持而已,他们正在转向Android/riscv64团队维护的非GKI内核,未来的目标依然是将做出的变更并入官方内核中。

谷歌对RISC-V的看法是否发生转变

随着RISC-V在嵌入式MCU领域的飞速爆发,以及近几年开始在加速器、服务器和移动计算上的扩张,谷歌也意识到了RISC-V这一架构在行业合作下的潜力。在2022年11月举办的RISC-V国际峰会上,谷歌正式宣布接受为RISC-V准备的补丁。

谷歌深知RISC-V是一个模块化的ISA,这也意味着该架构存在大量拓展,会使得OS的适配变得极为复杂。所以谷歌确定了他们第一步支持的配置,即RVA22加上矢量和矢量加密拓展。

去年10月,高通也宣布和谷歌合作,高通将开发基于RISC-V的可穿戴硬件平台,双方合作提供Wear OS的支持,并将基于RISC-V的可穿戴设备解决方案商业化,推广至全球市场,这也就意味着下一代Pixel Watch很可能就会用上高通的RISC-V芯片

对于谷歌来说,他们对增加新的ISA支持相当谨慎,因为这意味着需要更多的工程师,并花费更多的时间参与维护和代码审查工作,尤其是在安全补丁更新上。所以宣布对RISC-V的支持是一个不小的承诺,他们并不会轻易放弃。

从android-riscv64的项目页中也可以看到,在实际的开源代码贡献上,谷歌仍在继续支持RISC-V的安卓开发。目前开发团队使用cuttlefish虚拟安卓设备运行ART(并启用JIT)来完成启动,相关的shell和命令行工具(以及依赖库)都能够正常运行。

目前RISC-V的应用二进制接口(Android NDK ABI)还未定义,但开发团队仍在继续推进这一工作,不过用户倒是可以下载NDK的测试版本r27beta1,该版本已经对risc64做了临时支持,不过编译的代码并未充分利用RISC-V硬件性能,只是对其做了兼容而已,提前让用户下载只是为了方便找到需要修正的严重错误。而去年谷歌宣称这一工作将在2023年末完成,虽然谷歌并未放弃对RISC-V的支持,但相关的支持工作进展并不如预期。

开发社区所做的努力

对于安卓软件栈来说,主要包含系统内核、硬件抽象、运行时、框架层和应用五个层次近千个软件包,即便完成了内核支持,也还有不少的软件移植适配工作需要完成,单靠谷歌自己的开发团队是很难完成的,这也是谷歌选择开放接收补丁的原因,只有依靠开源社区的共同开发努力,才有可能实现Android on RISC-V的落地。

早在2020年,平头哥就开始了Android 10的适配工作,开发硬件为基于28nm工艺的双核玄铁C910处理器。这也是RISC-V开发社区中最早的一个安卓Demo项目,但公布初还是一个相对初级的版本,比如一开始进入启动器界面需要20分钟的时间,在改用Mterp解释器后,将启动时间缩短至10分钟,结合编译器、JIT&AOT等一系列优化工作,平头哥团队将启动时间缩短至1分钟。

2022年,平头哥又开始了Android 12的适配支持工作,而此次这是基于全新的硬件平台TH1520,并合作推出了BeagleV Ahead、Lichee Pi 4A EVB两大生态开发板。平头哥率先完成了TH1520的内核与驱动准备工作,同时将Clang12升级至针对玄铁优化的Clang15版本,并对Bionic进行了更新。

ART方面,平头哥在2023年把解释器从Mterp换成了Nterp,减少了方法调用的链路,提高频繁方法调用场景下的性能。而且Clang15增加了对玄铁扩展指令集的支持,在一系列优化下,Android 12在TH1520上开启更多服务的前提下,启动器的启动时间改善至47秒。
RISE联盟成员

同时为了解决RISC-V高性能与高能效核心运行安卓这类高级运行系统的软件生态问题,晶心科技、谷歌、英特尔、Imagination、高通、英伟达、平头哥、SiFive等厂商成立了RISE联盟。该联盟将致力于解决硬件到位后,RISC-V在智能手机消费电子、数据中心和汽车等市场的软件问题。

写在最后

尽管RISC-V的安卓适配之路依然道阻且艰,但无论是开发社区还是谷歌官方,都没有放弃这一工作,所以说在RISC-V硬件平台上体验到流畅可用的安卓系统只是时间问题。

Arm最新的财报中,RISC-V也首次出现架构对比的演示中,并对RISC-V的授权模式和能效做出了肯定,但在软件生态系统上仍有极大的进步空间。这也就是为何即便在安卓正式适配RISC-V后,开发工作依然不会就此结束,因为相关app的适配工作需要更大的行业号召力才能实现。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
  • 安卓
  • RISC-V
0人收藏
2
  • Mike张迎辉1
  • jf_268512891

评论

发布评论请先 登录

相关推荐

risc-v的mcu对RTOS兼容性如何

RISC-V的MCU对RTOS(实时操作系统)的兼容性主要取决于多个因素,包括RTOS的版本、RISC-V指令集的实现、以及芯片制造商提供的支持。以下是关于RISC-V的MCU对RTO
05-27 16:26

RISC-V的MCU与ARM对比

或许可费。这确保了ARM的稳定性和可靠性,以及高质量的技术支持和生态系统。 指令集与实现 RISC-VRISC-V是一种模块化的架构,由一个基本指令集和多个可选指令集扩展组成。这允许RIS
05-27 15:58

RISC-V有哪些优点和缺点

和使用其代码。这种开放性促进了全球范围内的创新与合作,有助于推动RISC-V生态系统的快速发展。 模块化设计:RISC-V支持模块化可配置的子集,使得开发者可以根据具体的应用需求进行灵活定制。这种
04-28 09:03

RISC-V有哪些优缺点?是坚持ARM方向还是投入risc-V的怀抱?

、修改和使用其代码。这种开放性促进了全球范围内的创新与合作,有助于推动RISC-V生态系统的快速发展。 模块化设计 :RISC-V支持模块化可配置的子集,使得开发者可以根据具体的应用需求进行灵活定制
04-28 08:51

国产RISC-VMCU推荐

ESP32-C3很好,物联网小产品首选,单芯片搞定Wi-Fi和蓝牙,够用好用,现在已经用到产品中了。 ESP32-C3系列芯片搭载低功耗RISC-V32位单核处理器,四级流水线架构,支持160 MHz
04-17 11:00

什么是RISC-V

siFive搞RISC-V赛昉搞RISC-V香山搞RISC-V到底什么是RISC-V? 先不问有什么用,RISC-V目前的能力来说,工
02-02 10:41

ARM最大危机来了!谷歌官宣:安卓将全面支持RISC-V

电子发烧友网报道(文/吴子鹏)日前,谷歌在开源博客发布了一篇文章,宣布了Android(安卓)与 RISC-V的最新进展。文章开门见山地提到,“Android支持许多不同的设备类型和CPU架构
11-04 00:16 1752次阅读

备胎的RISC-V在努力,又将走向何方

”主意的,并不只是中国芯片公司。 如今的RISC-V基金会可谓群星云集,除了在社区时期就已入局的谷歌、IBM等,现在还有英伟达、镁光、恩智浦、西部数据,加上受Arm“迫害”最严重的高通,芯片设计公司转投
09-30 12:28

RISC-V64 正式成为Debian官方支持架构

RISC-V64 正式成为Debian官方支持架构 RISC-V生态越加丰富,发展态势良好,日前,Debian社区已经正式接受riscv64作为官方
07-31 18:03 651次阅读

RISC-V设计支持工具,支持RISC-V技术的基础

RISC-V设计支持工具,支持RISC-V技术的基础 ppt分享
07-14 17:15 12次下载

RISC-V新进展!deepin 成功适配VisionFive 2

的设计、完整的工具链、易于移植Unix系统,以及大量的开源实现和流片案例。 近期,deepin官方RISC-VSIG组成功在VisionFive 2开发板上适配deepin操作系统,目前已经在官网
07-10 09:23

两大架构RISC-V和 ARM 的各种关系

,然后返回到内存中。RISC-V和 ARM 都支持32 位或 64 位指令集。 二、RISC-V和 ARM 的区别 尽管 RISC-V和 ARM 处理器技术的功能相似,但也有显
06-21 20:31

Debian 13“Trixie”Linux 发行版有望将带来 RISC-V64 位支持

植在此前取得了良好进展,**但最终还是并未实装到 Debian 12 中。未来该特性有望在 Debian 13 中进一步完善,之后提供官方RISC-V支持。” Debian 13 “Trixie
06-21 08:49

RISC-V软件生态计划“RISE”启动,平头哥成中国大陆唯一董事会成员

董事会中唯一的中国大陆芯片公司。RISE创始董事会13名成员此前,平头哥已基本完成RISC-V与国际主流操作系统的全适配:率先在玄铁RISC-V处理器上成功运行
06-02 15:29

RISC-V,正在摆脱低端

指令集架构的未来前景。 在去年的RISC-V峰会上,随着谷歌宣布Android支持RISC-V指令集,RISC-V应用场景正式从低功耗物联网
05-30 14:11

E4Life

专栏
715文章273.7w阅读71粉丝176点赞

推荐专栏

更多