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

    文章

    7436

    浏览量

    129609
  • RTOS
    +关注

    关注

    25

    文章

    869

    浏览量

    123209
  • RISC-V
    +关注

    关注

    49

    文章

    2946

    浏览量

    53534
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【国庆中秋礼品 Milk-V Duo RISC-V开发板】开箱、介绍、环境搭建、工程测试

    【国庆中秋礼品 Milk-V Duo RISC-V开发板】开箱、介绍、环境搭建、工程测试 感谢电子发烧友论坛 【贺华诞 庆中秋 | 一起来为祖国母亲送祝福吧!留言有礼】 活动的支持~ 活动礼品收到啦
    发表于 10-19 13:06

    【作品合集】群芯闪耀Milk-V Duo S 开发板测评

    :【RISC-V专题】Milk-V Duo S 开发板免费试用 作者:zealsoft【Milk-V Duo S 开发板免费体验】1-开箱和
    发表于 09-16 11:03

    Milk-V Duo S 开发板免费体验】RISC-V核心NCNN基准测试

    ncnn是腾讯优图实验室推出的一个为移动端极致优化的高性能神经网络前向计算框架,是目前同样也比较罕见的为 RISC-V 架构做过适配和优化的神经网络框架。 本文是一份教程,步骤 (step
    发表于 08-24 23:46

    Milk-V Duo S 开发板免费体验 加焊EMMC 烧录系统

    Milk-V Duo S 开发板免费体验】
    的头像 发表于 08-20 09:24 1358次阅读
    <b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> S 开发板免费体验 加焊EMMC 烧录系统

    Milk-V Duo S 开发板免费体验】RISC-V核性能测试

    众所周知,Milk-V Duo S的SoC是异构双核,一个ARM A53的核心,再加上一个RISC-V的核心。两个核心由一个物理开关切换谁来工作,因为Milk-V
    发表于 08-18 09:40

    Milk-V Duo S 开发板免费体验】开箱和系统体验

    、TensorFlow(Lite)等主流深度学习框架都可以轻松移植到该平台。 首先要到官网下载固件,Milk-V Duo S 开发板支持ARM和RISC-V两类固件,因为主打是RV,所以选择了
    发表于 08-12 22:04

    Milk-V Duo S 开发板免费体验】Milk-V DuoS性能测试

    ;编译 有鉴于Milk-V Duo S 开发板固件没带GCC,所以懒得去部署了,还是在WSL上交叉编译吧。 (一)源码下载 直接从github上源码,git clone https
    发表于 08-09 23:32

    Milk-V Duo S 开发板免费体验】测试舵机

    开源的 GPIO 控制库,旨在为不同的嵌入式平台提供通用且统一的 GPIO 控制接口。它基于 WiringPi 库进行了改进和扩展,并支持多种嵌入式平台,对Milk-V Duo也进行了适配
    发表于 08-09 22:46

    Milk-V Duo S 开发板免费体验】人脸检测

    Milk-V Duo S 开发板免费体验】人脸检测 本文介绍了 Milk-V Duo S 开发板结合 OV5647 摄像头模块,实现人脸检测的项目设计。 准备工作 OV5647 摄像
    发表于 07-27 16:53

    Milk-V Duo S 开发板免费体验】Duo S(SG2000)初步使用

    Milk-V DuoS 是 Duo 的升级型号,升级了 SG2000 主控,拥有更大的内存(512MB)和更多的 IO 接口。 它集成了 WI-FI 6/BT 5 无线功能,并配备 USB 2.0
    发表于 07-10 00:27

    Milk-V Duo S 开发板免费体验】2 - 安装编译环境并测试Hello world!

    感谢电子发烧友和Milk-V提供的评测机会。 引言 前面已经简单介绍了Milk-V DuoS 开发板,今天来安装一下交叉编译开发环境。本地使用的是Windows 中 WSL 安装的 Ubuntu
    发表于 07-07 21:18

    Milk-V Duo S 开发板免费体验】1-开箱和烧写镜像

    感谢电子发烧友和Milk-V提供的评测机会。 开发板简介 我以前在电子发烧友评测过Milk-V Duo,也曾经带学生打过集创赛算能赛道,对他们的产品有所了解。Milk-V
    发表于 07-02 20:42

    Milk-V Duo S 开发板免费体验】镜像烧录与开箱上电

    前言 关注Milk很久了,主要做RISC-V相关板子的,之前Duo比较火,准备入手Duo,后面因为各种原因未达成,这次有幸得到一块DuoS。 给我的第一感觉就是小巧精致,麻雀虽小五脏俱
    发表于 06-30 19:19

    Milk-V Duo S 开发板免费体验】Milk-V Duo S 开发板试用报告(1)开箱

    一、初识 盼啊盼,终于盼来了这块Milk-V Duo S。先看一下Duo S的包装。(图1) 图1 可以看到,外圈有一层塑料外壳,并且材质很好,摸起来很顺滑。而用普通Milk-V
    发表于 06-29 19:43

    Milk-V Duo S 开发板免费体验】Milk-V Duo S开箱、固件烧写和系统体验

    ,一个是RISC-V版本,一个是ARM版本,均可以启动系统,但是在Milk-V Duo S板子上要选择启动的核心。 因为ARM版的下载速度要快些,所以后续就直接用ARM版本的固件。 (二)固件烧写 通过
    发表于 06-27 23:21