2022云栖精选—平头哥在 RISC-V 软件生态的探索和实践

简介: 熊健 平头哥资深技术专家

image.png

上图为平头哥RISC-V软件生态。

YOC系统是基于 RTOS 的系统平台除了 RTOS 外,平头哥 LinuxAndroid等系统也有投入。三个系统从下至上均可分为Kernel&BSP子系统和应用框架三个软件层面。

安全系统独立于以上三个系统存在为其提供安全场景的支撑。三个系统通过提供语音图形、视频视觉等系统能力,为开发者提供应用方案比如智能语音面板边缘计算AI Box智能支付面板门铃门锁、可穿戴支付产品等解决方案。

YOCLinuxAndroid三个系统在github gitee均提供了开源仓库,同时我们积极地贡献相应的社区主线。

image.png

上图为平头哥团队过去一年在开源社区的贡献。

其中Compat模式能够支持 32 位应用程序在 64 RISC-V Linux 上运行一方面可以保证 32 位应用程序的兼容性,同时也能有效降低系统内存和应用内存的占用。Svpbmt MMU 页面管理的重要属性,能进一步加强 RISC-V对于 Linux 内存管理机制的支持。Crash是非常强大的调试工具,用于调试内核问题长期以来 crash 社区一直未能支持RISC-V架构,严重影响了RISC-V平台内核调试。因此,平头哥贡献了 crash 支持 RV64 架构的方案。

image.png

我们坚信安全是未来云端一体的重要基础技术平头哥从硬件安全到软件安全提供全套安全体系方案研发了全球首个支持兼容 GP 标准的 RISC-V芯片/平台,并因此获得了全球首个基于 RISC-V架构的GP TEE安全评估认证。

安全的重要特点是从处理器硬件到软件具备完整全套的安全体系,我们实现了 OPTEE全栈的技术能力可以帮助 RISC-V架构实现对现有安全软件生态的兼容

该安全系统能够支持 RTOSLinuxAndroid等多个主流操作系统,可以弹性支持各种不同领域的安全终端产品提供了标准的用户开发界面,保证安全应用的快速迁移。安全框架已经实现了部分阿里的安全应用,可以无缝快速接入阿里巴巴生态最大化有效复用现有的安全认证资源,减少安全认证的周期,加速产品上市速度

image.png

YOC一个RISC-V软硬融合端云一体的开源 AIoT 软件平台。通过高效的芯片对接丰富的系统组件简洁的应用框架,能够助力芯片到终端产品的快速落地。

针对不同的应用场景, YOC 可以提供接入语音、图形、视频视觉等各种系统能力,帮助开发者在各个领域快速构建自己的应用解决方案。

YOC 的最新版本 v7.6 已于近期同时在 github gitee上做了开源发布。通过支持更多RISC-V芯片,提供了更多通用示例,进一步提高了开发者的开发效率。

YOC 的视频视觉子系统为需要低成本高实时的 camera 场景提供了有竞争力的方案。它通过几个重要组件比如Media Entity内存子系统bind 子系统、profiling子系统提供多媒体场景需要的功能。同时能够提供硬件加速软件处理的能力支持 Linux RTOS 两个系统,可以实现跨系统的平滑迁移。

YOC 会持续在技术上深耕,进一步提高开发者的开发效率,为市场带来更多有竞争力的产品。

image.png

2021 10 月,平头哥首次在玄铁处理器上成功运行了Android系统,并且运行了 Chrome 浏览器等大型应用,实现了业内首次RISC-V芯片上对Android的支持。今年 4 月份,我们进一步在Android系统上成功运行 tensorflow lite,首次实现了 RISC-V架构对Android AI 场景的支持。

平头哥一直持续在推进 RISC-VAndroid系统的工作。截止到目前,已经在Android相关代码仓库做了 100 多处改动,修改或提交了 2000 多个文件,改动代码超过 12 万行。所有改动为RISC-V支持Android的生态作出了重要贡献,同时也为未来RISC-V支撑高性能软件的应用打下了基础。

近期,阿里巴巴平头哥提供的RISC-V兼容Android的代码补丁正式被谷歌AndroidAOSP 社区收录进系统源代码这是全球首批RISC-V兼容Android的正式补丁。意味着谷歌Android正式开启了对RISC-V架构官方原生的支持,也意味着RISC-VAndroid两大阵营的融合驶入了快车道。

image.png

Linux系统平台也可以为开发者提供产品开发验证以及构建产品的系统能力。 Linux 系统平台的软件栈自底向上分为五个软件层面,分别是 Linux 内核、设备驱动基础系统核心组件和系统软件。

Linux内核层,我们开源了平头哥各款玄铁处理器的 Arch 支持,能够为开发者提供最基础的系统支持。设备驱动层面,提供了无剑 600 平台的成熟设备驱动方案,并且提供了一套自动化验证平台。

基础系统层提供了Buildroot Yocto两种系统构建方式。Buildroot 比较简单容易上手Yocto能够更有效地帮助开发者构建更为复杂的系统并支持安装包的管理,可以帮助开发者快速构建所需的 Linux 发行版。

核心组件层提供了可以体现产品核心竞争力的系统组件,包括诊断、图形视频视觉、语音安全等各种系统组件。在系统软件层,为了提高终端用户的使用体验,我们支持了涉及到 UI 交互的大型应用和多媒体应用,比如Gnome、多媒体的GstreamereLibra officeFirefox

Linux的系统平台开源发布到 gitee,我们也会通过详尽的软件技术文档以及官网自动化 AI 机器人客户线上支持来帮助客户和开发者快速上手 Linux 系统平台。

image.png

龙蜥 Anolis OS 是龙蜥社区的开源 Linux 发行版,已经较为成熟,支持多种 CPU架构,但在此之前尚不支持 RISC-V架构。平头哥在近日的RISC-V峰会上发布了无剑 600 的高性能RISC-V芯片设计平台,并且基于平台提供了曳影1520。无剑 600 原生提供了Buildroot Yocto系统构建方式,并且我们也在探索寻求支持更多优秀的 Linux 发行版。

龙蜥社区本次推出了桌面版的开源系统,为RISC-V芯片未来在桌面生态的进展奠定了良好的基础。本次平头哥与开源操作系统龙蜥 OS 合作既是平头哥对于进入桌面领域的重要举措也是为RISC-V提供真正全面从硬件到基础软件到应用层软件的全面开放性能力的体现。

image.png

无剑600是一个软硬体的全栈平台,不仅有硬件有平台,也有软件包。基于无剑 600 的第一颗原型样片曳影1520龙蜥社区\中科院软件所的 PLCT实验室联合打造了从底层的RISC-V芯片平台到龙蜥 OS 再到上层基础应用和桌面应用全栈能力。中科院 PLCT实验室有着非常强的应用开发能力,为系统提供了 Libra office 、Firefox等大型软件的支持。

平头哥提供了无剑 600 的硬件平台,并且协助龙蜥社区做好了系统 bring up 过程中,平头哥向龙蜥的内核提交了 120 多个关于RISC-V Arch 以及无剑 600相关驱动的 patch 贡献。同时密切配合龙蜥社区和 PLCT实验室适配相关软件,也搭建了 1520 云上实验室,开放用户体验,用户可以通过远程访问实现真实的体验。

image.png

通过龙蜥社区PLCT实验室联合的技术攻关我们已经成功在曳影1520上运行龙蜥的桌面级操作系统。上图为相关实拍照片以及系统截图。

这是RISC-V架构第一次运行Libra office 大型应用软件RISC-V进入未来桌面级领域运行大型复杂应用具有重要意义。此外,我们也成功运行了Hexo和OpenRocket这种基于 nodeJS Java 的应用。

未来,我们希望龙蜥社区一起为RISC-V架构运行更多不同种类的软件,也非常期望可以龙蜥社区保持密切合作,一起取得更的成绩。

目录
相关文章
|
供应链 芯片
平头哥芯片采用的RISC-V架构
平头哥芯片采用的RISC-V架构
371 1
|
芯片 开发者
今天,由阿里巴巴平头哥举办的「首届玄铁RISC-V生态大会」在上海举行。
今天,由阿里巴巴平头哥举办的「首届玄铁RISC-V生态大会」在上海举行。
207 0
邀请函 | 3月2日,来上海参加平头哥“玄铁RISC-V生态大会”
邀请函 | 3月2日,来上海参加平头哥“玄铁RISC-V生态大会”
136 0
|
存储 安全 芯片
|
存储 边缘计算 固态存储
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-面向高性能领域CPU
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU IP-
1532 1
|
机器学习/深度学习 人工智能 算法
|
物联网 开发工具 开发者
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链-剑池CDK开发工具
玄铁RISC-V处理器入门与实战-平头哥RISC-V 工具链
408 1
|
人工智能 负载均衡 安全
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU 系统-YoC
玄铁RISC-V处理器入门与实战-平头哥玄铁CPU 系统
538 1