0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OERV-RTOS: UniProton 适配 Milk-V Duo,加速欧拉 RISC-V 生态

算能开发者社区 2024-07-02 08:33 次阅读

OERV 的实时操作系统小组(OERV-RTOS) 完成了 RISC-V 开发板 Milk-V Duo 小核的初步支持并与大核 Linux 一起进行部署通信验证。这是 UniProton 首次在 RISC-V 实体开发板上进行 Linux + RTOS 的部署尝试,此次部署基于 MailBox 驱动的简易自定义协议,为后续在 Milk-V Duo 上进行基于 MICA 项目的混合关键性系统部署奠定了通信基础。

OERV 团队仓库下的 duo-buildrootsdk 仓库是 UniProton RISC-V 的第一个长期维护下游仓库,由 OERV-RTOS 进行维护开发。Milk-V Duo 是一款 RISC-V 的多核异构处理器,并且拥有较完善的社区生态和非常庞大的 RISC-V 开发者群体。

下方是 OERV-RTOS 的工作路线框架图:

c411135c-380a-11ef-a655-92fbcf53809c.png

在 Milk-V DUO 上运行 UniProton

OERV-RTOS 小组为 UniProton 在 RISC-V 架构的 PLIC 驱动 和 CLINT 驱动提供了 C906L 的支持方案,使其能够正常将 UniProton 引导到内存并加载小核运行。

同时,小组在 Milk-V Duo 官方 SDK 的基础上,融合了原 UniProton 构建系统,并引导了支持板载驱动的 UniProton-RISCV,同时通过了一系列官方测试。为了完成这一目标,小组对 UniProton 的构建系统进行了针对 RISC-V 的调整,添加了一键化构建脚本来支持工具链的自动下载,实现了一键构建带有 Uniproton 的 libmilkvduol.a 静态库的功能。此外,小组还将 UniProton 的用户接口(uapi)移植到了 duo-buildroot 小核构建系统,确保小核驱动部分可以使用 UniProton uapi,并对 duo-buildroot 系统进行了一定程度适配。

在板载驱动支持方面,OERV-RTOS 小组重构了原裸机驱动层实现,使用 UniProton 原生 API 来提供如硬件抽象(HAL)、时间获取和延时等相关功能。小组还为 Milk-V Duo 增加了内核层小核启动阶段的代码,在 Milk-V Duo 上正常运行启动流程、硬件特性与内核配置等初始化过程。

c4232ec0-380a-11ef-a655-92fbcf53809c.jpg

如上图,UniProton 成功和 Linux 一同部署到 Milk-V Duo 上面,让 UniProton 默认启动一个线程,持续打印字符串,和 Linux 使用同一个串口。

基于 RISC-V 的 MICA 框架

Linux + RTOS 的部署仍然是当前为 Linux 提供高实时性支持的一个重要的方式,同时也是实现Linux 和 RTOS 双方应用落地的主要途径。OERV-RTOS 小组目前正在全力推进 openEuler 社区的 MICA 项目的 RISC-V 支持和部署,对该项目的 RISC-V 的支持部署做出了相应的路线规划。具体规划路径如下:

c4353732-380a-11ef-a655-92fbcf53809c.png

在现在的工作的基础上, 团队将进一步完善 UniProton 和 openEuler 在对 RISC-V 的支持和应用能力,并施行基于 MICA 项目的多操作系统部署策略。考虑到 RISC-V 处理器架构的特性,RTOS 小组将应用 rv64ilp32 工具链以优化 UniProton 的空间占用和性能表现。整体规划涵盖了 MilkvDuo 的小核与大核两大部分。

对于 Milk-V Duo 的小核,工作重点包括开发与优化 UniProton 的相关文档,支持 MICA 部署,评估与 UniProton 混合部署 RTOS 时的实时性能,以及提供 shell 和 gdb_stub 支持。此外,还将优化 UniProton 单独部署时的各个组件。

对于大核方面,团队计划在 Milk-V Duo 上运行 openEuler 24.03LTS,并安装MICA所需的依赖,根据板载的实际情况,编写必要的字符设备模块,提供关键的字符设备驱动文件 /dev/mcs,用于支持与Linux用户进程的通信互动,从而实现对小核生命周期的管理和通信。

开发者说

OERV-RTOS 小组由罗君[1]组建,致力于 RISC-V 下 Linux + RTOS 多核异构部署,完善 oe 嵌入式分支在 RISC-V 上面的空缺,目前正在全力推动 MICA RISC-V 支持 和 UniProton RISC-V 的生态建设。罗君分享了他的展望:

"OERV-RTOS 小组在各个方面都在不断地完善,已经有更多感兴趣的小伙伴投入到了 UniProton 项目 和 MICA 项目相关的工作中。同时,在 UniProton RISC-V 和 MICA RISC-V 方面我们也制定了详细的 RoadMap ,很快我们就能够看到 openEuler + UniProton 基于 MICA 在开发板上的部署。相信在不久的未来, openEuler + UniProton 能够基于 RISC-V 特性找到具有独特优势的应用落地场景!"

结语

OERV 将持续投入 UniProton RISC-V + openEuler RISC-V 方向的支持,进一步完善 UniProton 的生态,实现 openEuler + UniProton 的应用落地。对 openEuler RISC-V 生态建设感兴趣的伙伴们,可以添加下面的微信,加入我们 openEuler RISC-V 开发群聊做进一步了解。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6413

    浏览量

    122333
  • RTOS
    +关注

    关注

    20

    文章

    783

    浏览量

    118928
  • RISC-V
    +关注

    关注

    42

    文章

    2017

    浏览量

    45385
收藏 人收藏

    评论

    相关推荐

    Ubuntu现已适配RISC-V单板计算机Milk-V Mars

    近期,Canonical宣布优化的Ubuntu24.04镜像已可用于RISC-V单板计算机Milk-VMars。Milk-VMars由深圳市群芯闪耀科技有限公司(Milk-V)设计并推
    的头像 发表于 06-12 08:19 117次阅读
    Ubuntu现已<b class='flag-5'>适配</b><b class='flag-5'>RISC-V</b>单板计算机<b class='flag-5'>Milk-V</b> Mars

    Milk-V Duo 开发板免费体验】①、迟来的开箱

    ://milkv.io/zh/duo上描述,拥有它就相当于花9美元,买了一台RISC-V电脑,真有真么神吗?咱试试用就知道了。 该板上CVITEK CV1800B是采用双内核架构,主频最高1GHz,支持矢量加速
    发表于 08-27 20:02

    Milk-V Duo 开发板免费体验】初体验及开箱视频

    刚刚收到开发板,给大家做个视频来初步了解以下Milk-V Duo 开发板。 Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能够运行基于LINUX和
    发表于 08-22 23:59

    Milk-V Duo 开发板免费体验】Milk-V Duo 开发板Linux环境准备

    先来看看Milk-V Duo开发板,开发板是一款基于CV1800B芯片的MPU。CV1800B芯片由算能提供,它采用了两颗RISC-V内核,能够运行基于Linux提供和RTOS的操作系
    发表于 08-18 00:38

    Milk-V Duo 开发板免费体验】Milk-V Duo 开发板初体验

    Milk-V Duo开发板(图4)是一款基于CV1800B芯片(RISC-V架构,C906@1Ghz + C906@700MHz)的超紧凑型嵌入式开发平台。它支持64MB RAM,可通过扩展实现10
    发表于 08-18 00:26

    Milk-V Duo开发板免费体验】Milk-V初次使用

    Milk-V Duo开发板免费体验】Milk-V初次使用
    的头像 发表于 08-08 09:03 1978次阅读
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b>开发板免费体验】<b class='flag-5'>Milk-V</b>初次使用

    Milk-V Duo 开发板免费体验】Milk-V Duo初次开箱并烧写系统

    Milk-V Duo初次开箱 开箱图片 Milk-V Duo具有以下特性: 基于算能CV1800B芯片,主频高达1GHz。 能够运行基于Linux和
    发表于 08-07 14:36

    Milk-V Duo 开发板免费体验】初步试用测试

    Milk-V Duo是一款基于CV1800B芯片的MPU。CV1800B芯片由算能提供,它采用了两颗RISC-V核心,能够运行基于Linux和RTOS的操作系统。
    发表于 08-02 17:11

    Milk-V Duo 开发板免费体验】初步体验 + 搭建开发环境

    ,特别是risc-v架构之后,国产的芯片越来越多的冒出来了,真是可喜可贺。 Duo| Milk-V 使用的1GHz和700MHz的RISC-V C906处理器, C906是阿里的平头哥
    发表于 08-01 12:49

    Milk-V Duo 开发板免费体验】milkv-duo 申请成功体验

    milkv-duo 申请成功体验 前言 Milk-V Duo是一种多功能的开发平台,使用CV1800B芯片作为核心处理单元。它支持运行Linux和RTOS,这意味着可以进行复杂的应用开
    发表于 07-29 14:31

    Milk-V Duo 开发板免费体验】Milk-V Duo 开发板学习初体验

    milkv-duo-20230616-2232.img自制成linux启动盘 3、通过Type-C数据线连接电脑,小板系统顺畅的启动了 登录Milk-V Duo小板的系统耍耍吧 1、正确安装NDIS网络
    发表于 07-28 15:58

    Milk-V Duo 开发板免费体验】1.开箱体验

    感谢算能和电子发烧友论坛的开发板试用活动,有幸体验Milk-V Duo 开发板 。 Milk-V Duo是一款基于算能 CV1800B芯片的MPU,能够运行基于LINUX和
    发表于 07-23 16:00

    Milk-V Duo 开发板免费体验】Milk-V Duo之开箱初体验

    STM32103C8T6核心板的体积能与之媲美了,但是前者在同样的体积下塞进去了更强的功能。 二,外设 Milk-V Duo是一个基于CV1800B芯片的超紧凑嵌入式开发平台。它可以运行Linux和RTOS,为专业人士
    发表于 07-16 01:15

    Milk-V Duo 开发板免费体验】+ 1、开箱

    Milk-V Duo是一个基于CV1800B芯片的超紧凑嵌入式开发平台。它可以运行Linux和RTOS,为专业人士、工业ODM、AIoT爱好者、DIY爱好者和创作者提供了一个可靠、低成本和高性能的平台。
    的头像 发表于 07-13 09:24 1170次阅读
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> 开发板免费体验】+ 1、开箱

    Milk-V Duo】1、入门篇

    入门milk-V Duo开发板
    的头像 发表于 07-07 11:21 1252次阅读
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b>】1、入门篇