曳影1520成功运行AnolisOS详聊平头哥在RISCV软
近日,在2022云栖大会龙蜥峰会RISCV专场上,来自平头哥IoT研发OS平台团队的负责人、资深技术专家熊健介绍了《平头哥在RISCV软件生态的探索》,以下为本次演讲内容:
(图平头哥资深技术专家熊健)
从底层软件的适配,语音、视频、安全等子系统的构建,各个操作系统的应用框架的搭建和支持,到上层应用方案设计,平头哥不断深耕RISCV技术和生态,端云一体的丰富生态正在形成。
(图平头哥RISCV软件生态)
平头哥持续在开源社区贡献代码,在Linux5。19中发布的106个RISCVpatch中,有43个与玄铁CPU相关,并贡献了RV32Compat和Svpbmt两个重要功能。
通过下图看到,其中Compat模式能够支持32位应用程序在64位RISCV的Linux上运行,一方面可以保证32位应用程序的兼容性,同时也能有效降低系统内存和应用内存的占用。Svpbmt是MMU页面管理的重要属性,能进一步加强RISCV对于Linux内存管理机制的支持。Crash是非常强大的调试工具,用于调试内核问题,长期以来Crash社区一直未能支持RISCV架构,严重影响了RISCV平台的内核调试。平头哥为Crash社区贡献了RV64架构的支持方案,解决了多年来离线调试的短板,为RISCV开发带来重要意义。
(图平头哥团队过去一年在开源社区的贡献)
我们坚信,安全是未来云端一体的重要基础技术。平头哥从硬件安全到软件安全提供了全套安全体系方案,研发了全球首个支持兼容GP标准的RISCV芯片平台,并获得了全球首个基于RISCV架构的GPTEE安全评估认证。
安全的重要特点是从处理器硬件到软件具备完整、全套的安全体系,我们实现了OPTEE全栈的技术能力,可以帮助RISCV架构实现对现有安全软件生态的兼容。
该安全系统能够支持RTOS、Linux和Android等多个主流操作系统,可以弹性地支持各种不同领域的安全终端产品,提供了标准的用户开发界面,保证安全应用的快速迁移。该安全框架已经实现了部分阿里的安全应用,基于玄铁安全系统的产品可以无缝快速接入阿里巴巴生态,最大化有效复用现有的安全认证资源,减少安全认证的周期,加速产品上市速度。
YoC(YunonChip)是一个RISCV软硬融合端云一体的开源AIoT软件平台。通过高效的芯片对接、丰富的系统组件、简洁的应用框架,能够助力芯片到终端产品的快速落地。
针对不同的应用场景,YoC可以提供接入语音、图形、视频视觉等各种系统能力,帮助开发者在各个领域快速构建自己的应用解决方案。
YoC的最新版本v7。6已于近期同时在github和gitee上做了开源发布。通过支持更多RISCV芯片,提供更多通用示例,进一步提高了开发者的开发效率。
YoC的视频视觉子系统为需要低成本、高实时的camera场景提供了有竞争力的方案。它通过几个重要组件比如MediaEntity、内存子系统、bind子系统、Profiling子系统提供多媒体场景需要的功能。同时能够提供硬件加速和软件处理的能力,支持Linux和RTOS两个系统,可以实现跨系统的平滑迁移。
未来平头哥会持续在YoC上深耕,进一步提高开发者的开发效率,为市场带来更多有竞争力的产品。
在端侧,平头哥引领RISCV架构首次进入安卓开源生态体系,推动RISCV正式与全球主流移动操作系统生态接轨。
2021年10月,平头哥首次在玄铁处理器上成功运行了Android系统,并且运行了Chrome浏览器等大型应用,实现了业内首次RISCV芯片上对Android的支持。今年4月份,进一步在Android系统上成功运行TensorFlowLite,首次实现了RISCV架构对AndroidAI场景的支持。
平头哥持续推进RISCV在Android系统的工作。截止到目前,平头哥已经在Android相关代码仓库做了100多处改动,修改或提交了2000多个文件,改动代码超过12万行。为RISCV支持Android的生态作出了重要贡献,同时也为未来RISCV支撑高性能软件栈的应用打下了基础。
近期,阿里巴巴平头哥提供的RISCV兼容Android的代码补丁正式被谷歌Android的AOSP社区收录进系统源代码,这是全球首批RISCV兼容Android的正式补丁。这意味着谷歌Android正式开启了对RISCV架构官方原生的支持,RISCV和Android两大阵营的融合驶入了快车道。
Linux系统平台也可以为开发者提供产品开发、验证以及构建产品的系统能力。Linux系统平台的软件栈自底向上分为五个软件层面,分别是Linux内核、设备驱动、基础系统、核心组件和系统软件。
Linux内核层,平头哥开源了各款玄铁处理器的Arch支持,为开发者提供最基础的系统支持。设备驱动层面,提供了无剑600平台的成熟设备驱动方案,并且提供了一套自动化验证平台。
基础系统层提供了Buildroot和Yocto两种系统构建方式。Buildroot比较简单,容易上手;Yocto能够更有效地帮助开发者构建更为复杂的系统,并支持安装包的管理,可以帮助开发者快速构建所需的Linux发行版。
核心组件层提供了可以体现产品核心竞争力的系统组件,包括诊断、图形、视频视觉、语音、安全等各种系统组件。在系统软件层,为了提高终端用户的使用体验,支持涉及UI交互的大型应用和多媒体应用,比如Gnome、多媒体的Gstreamere、Libraoffice、Firefox。
Linux的系统平台已开源发布到Gitee,我们也会通过详尽的软件技术文档以及官网自动化AI机器人和客户线上支持来帮助客户和开发者快速上手Linux系统平台。
AnolisOS是龙蜥社区的开源Linux发行版,已经较为成熟,支持多种CPU架构,但在此之前尚不支持RISCV架构。平头哥在近日的RISCV峰会上发布了无剑600高性能RISCV芯片设计平台,并且基于平台提供了SoC原型曳影1520。无剑600平台原生提供了Buildroot和Yocto等系统构建方式,我们也一直在探索寻求支持更多优秀的Linux发行版。
龙蜥社区本次推出了桌面版的开源系统,为RISCV芯片未来在桌面生态的进展奠定了良好的基础。本次平头哥与开源操作系统龙蜥OS的合作既是平头哥对于进入桌面领域的重要举措,也是为RISCV提供真正全面从硬件到基础软件到应用层软件的全面开放性能力的体现。
无剑600是一个软硬一体的全栈平台,不仅有硬件、有平台,也有软件包。基于无剑600的第一颗原型样片曳影1520与龙蜥社区、中科院软件所PLCT实验室联合打造了从底层的RISCV芯片平台到龙蜥OS再到上层基础应用和桌面应用的全栈能力。中科院PLCT实验室有着非常强的应用开发能力,为系统提供了Libreoffice、Firefox等大型软件的支持。
平头哥提供了无剑600的硬件平台,并且协助龙蜥社区做好了系统bringup。平头哥向龙蜥的内核提交了120多个关于RISCV的Arch以及无剑600相关驱动的patch贡献。同时密切配合龙蜥社区和PLCT实验室适配相关软件,也搭建了曳影1520云上实验室,并开放了用户体验,用户可以通过远程访问实现真实的体验。
通过与龙蜥社区和PLCT实验室联合的技术攻关,我们已经成功在曳影1520上运行了龙蜥的桌面级操作系统,下图为相关实拍照片以及系统截图。
这是RISCV架构第一次运行Libreoffice等大型应用软件,对RISCV进入未来桌面级领域运行大型复杂应用具有重要意义。此外,我们也成功运行了Hexo和OpenRocket这种基于nodeJS和Java的应用。
未来,我们希望与龙蜥社区一起为RISCV架构运行更多不同种类的软件,也非常期望可以与龙蜥社区保持密切合作,一起取得更好的成绩。欢迎各位感兴趣的开发者扫描下方二维码入群交流。
相关链接地址:
RISCVARCHSIG地址:
https:openanolis。cnsigRISCV
曳影1520云上实验室地址:
https:occ。thead。cncommunitycloudlabindex
关于龙蜥峰会RISCV专场课件获取方式:
【PPT课件获取】:关注微信公众号(OpenAnolis),回复龙蜥课件即可获取。有任何疑问请随时咨询龙蜥助手小龙(微信:openanolisassis)。
【视频回放】:视频回放已上传至龙蜥官网https:openanolis。cnvideo查看。