101 Star 294 Fork 98

泰晓科技/RISCV-Linux

【老师提案】 VisionFive 2 开发板软硬件评测及软件gap分析

已完成
成员
创建于  
2022-12-03 01:15

项目标题:VisionFive 2 开发版软硬件调研
项目描述:VisionFive 2 开发版软硬件调研
项目难度:进阶
项目社区导师:@walimis
导师联系方式:walimis@walimis.org
合作导师联系方式:
项目产出要求:

即将拿到赛昉科技的 VisionFive 2 开发板,技术特点包括:

  • 集成了 JH7110 四核 RISC-V CPU,工作频率1.5GHz,2MB的二级缓存
  • 渲染能力集成 IMG GPU, 可达2400MPixels/s;
  • 采用了赛昉科技自研的低功耗ISP,提供H.264/H.265编解码能力

针对这个开发板,可以进行一系列软硬件的调研和输出:

介绍硬件和软件使用:

  • SOC和开发板的硬件介绍和开发板使用说明
  • 如何编译和适配VisionFive 2 开发板的 boot SPL,openSBI,uboot,linux 等软件
  • 如何烧写 boot SPL,openSBI,uboot,linux 到这个开发板上

软硬件性能评测:

  • 单核性能测试,并且和哪吒 D1-H 的运行结果进行比对
  • RISC-V Linux 下多核系统实际运行和性能测试,对比单核
  • 多媒体性能,FFmpeg的编解码性能评测,并且和哪吒 D1-H 的结果比对
  • IMG GPU 在 RISC-V SOC 中跑图形界面的性能评测

参考资料:

评论 (6)

walimis 创建了任务 2年前
walimis 修改了描述 2年前
walimis 修改了描述 2年前
walimis 修改了描述 2年前
walimis 修改了描述 2年前
walimis 负责人设置为walimis 2年前
walimis 修改了描述 2年前
walimis 修改了描述 2年前
walimis 修改了描述 2年前
falcon 修改了描述 2年前
falcon 修改了标题 2年前
展开全部操作日志

参考两篇文档,输出一篇文档,主要包含内容如下:

  1. 简要介绍buildroot的来源和作用
  2. 使用docker,用ubuntu 20.04镜像,完成下载编译buildroot最新版本;介绍buildroot的目录结构
  3. 编译出来riscv64 virt的软件,并且可以运行qemu。
  • make qemu_riscv64_virt_defconfig
  • make -j10
  • sh ./output/images/start-qemu.sh
  1. 编译出哪吒开发板的软件,可以烧写sdcard.img到开发板的SD card上,并启动哪吒开发板
  • make nezha_defconfig
  • make -j10
  • ls output/images/sdcard.img

参考

falcon 添加协作者Kepontry 2年前
falcon 修改了标题 2年前

认领任务,按照一个月4篇产出的标准,计划在三个月的实习期内共产出文章12篇,具体主题初步安排如下:

  1. Uboot与SPL编译与烧录

    • Uboot与SPL功能简介
    • 交叉编译Uboot与SPL二进制文件
    • 刷入VF2并尝试启动
  2. VF2四种启动方式简介

    • 四种方式的启动示例
    • 四种启动方式的简要流程分析
    • 恢复模式的进入及恢复文件的刷入
  3. VF2无线网卡实验

    • 使用USB无线网卡让VF2连接上网络,现在官方提供的无线网卡无法正常工作
    • 操作过程中的一些注意事项
    • 网络调试方法的介绍
  4. VF2从固态硬盘启动的方案

    • 使VF2能从固态硬盘启动,现在官方软件支持还没有做好
    • 启动方案的介绍
  5. VF2简介

    • VF2板子简介
    • 简易的上手流程
    • 图形显示、网络连接等注意事项
  6. 单核性能测试以及与哪吒的对比

    • 考虑spec2006,2017,coremark等测试集
    • 交叉编译出RV架构下的可执行文件
    • 运行评测,并对结果进行对比分析
  7. 多核与单核在riscv-linux的实际运行对比与性能测试

    • 使用一些并行库,将上述测试集在多核环境下编译运行并进行比较
    • 跑一些多核benchmark
    • 针对多核与单核的频率进行分析
  8. 多媒体和ffmpeg性能评测

    • 进行媒体播放测试与解码性能评测
    • 尝试不同的编码
    • 在VF2和哪吒上进行实验并对比
  9. 基于VF2的IMG GPU评测

    • GPU架构简介
    • 使用GL Mark 2等测试工具进行图形渲染测试
    • 同类GPU比较
  10. 在qemu和实际硬件(VF2或哪吒)中安装busybox工具

    • 交叉编译busybox,采用拷贝或者制作rootfs的形式安装
    • 在qemu中安装busybox
    • 在实际硬件上安装busybox
  11. 用作机动,当某主题用一篇文章篇幅描述不完或者有新主题时使用

  12. 考核期间已完成1篇,链接见:https://gitee.com/tinylab/riscv-linux/blob/master/articles/20221228-riscv-buildroot-nezha.md

falcon 任务状态待办的 修改为进行中 2年前
falcon 修改了标题 2年前

第一篇文章:基于 VisionFive 2 的 SPL 和 U-Boot 编译与烧写
https://gitee.com/tinylab/riscv-linux/blob/master/articles/20230213-vf2-uboot-spl.md

第二篇文章:基于 VisionFive 2 的 Linux Kernel 编译与替换

https://gitee.com/tinylab/riscv-linux/blob/master/articles/20230227-vf2-kernel-compile.md

第三篇文章:VisionFive 2 的有线共享与无线网络配置方式

https://gitee.com/tinylab/riscv-linux/blob/master/articles/20230227-vf2-lan-wlan.md

前三篇文章主要研究了开发板的配置与软件更新,方便大家及时使用官方最新功能,并将开发板连接上网络

第四篇文章:VisionFive 2 开发板的 CoreMark 评测、优化与对比
https://gitee.com/tinylab/riscv-linux/blob/master/articles/20230323-vf2-coremark.md

5069540 wuzhangjin 1594531572 falcon 拥有者 2年前

关于 Cache Prefetch, Cache Size, Cache Line Size 等方面,可以结合程序的案例深入探讨一下,怎么样充分利用 Cache Prefetch 并最大化利用 Cache Line Size, Cache Size (含 L1, l2)等。

找了一点资料:

  1. Optimizing Cache Performance and Predictability
    https://www4.cs.fau.de/Lehre/SS20/PS_KVBK/arbeiten/Cache_Awareness.pdf

  2. Make your programs run faster by better using the data cache
    https://johnnysswlab.com/make-your-programs-run-faster-by-better-using-the-data-cache/

  3. Optimizing Cache Performance for Graph Analytics
    https://arxiv.org/pdf/1608.01362v3.pdf

  4. Improve performance with cache prefetching
    http://katecpp.github.io/cache-prefetching/

  5. How to speed your code using CPU caches
    https://www.infoworld.com/article/3217388/how-to-speed-your-code-using-cpu-caches.html

falcon 任务状态进行中 修改为已完成 2年前

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(3)
walimis-walimis Kepontry-Kepontry 5069540 wuzhangjin 1594531572
1
https://gitee.com/tinylab/riscv-linux.git
git@gitee.com:tinylab/riscv-linux.git
tinylab
riscv-linux
RISCV-Linux

搜索帮助