Milk-v duo上手体验

Milk-v duo上手体验&coremark测试

最近参加算能1积分活动,收到了Milk-v duo开发板,板上直接可用硬件有

板子很小巧,大约2个一元的硬币那么大,下面是开箱图:

SOC说明 链接到标题

CV1800:

  • 双核:1GHz和700MHz的RISC-V C906处理器
  • 带CVITEK TPU
  • H.264/H.265视频编码, Up 2880x1620@20fps
  • ISP图形处理
  • CV硬件加速引擎
  • 音频编解码
  • 10/100 ETH MAC
  • 硬件加密模块
  • 外设:ADCx3, I2Cx4, SPIx3, UARTx5, PWMx4, SDIOx2, USB host+device, GPIOx51 详细查看:https://github.com/sophgocommunity/Duo_Doc/tree/main/resources

环境搭建 链接到标题

参考https://milkv.io/zh/docs/duo/overview即可,这里不做赘述,只说明遇到的问题

没有RNDIS驱动 链接到标题

Windows10下可能没有RNDIS驱动,因此在设备管理器的其它设备中连带问号的RNDIS都看不到,需要去网上自行下载安装: https://dl.sipeed.com/fileList/MaixSense/Drivers/Ethernet_RNDIS_drivers_20220808.zip 安装后能看到RNDIS设备,再按照官方文档操作即可 https://milkv.io/zh/docs/duo/getting-started/setup

SDK编译 链接到标题

SDK下载和编译生成image的方法直接参考github https://github.com/milkv-duo/duo-buildroot-sdk 注意,WSL1下面无法编译过,通过WSL2或者Linux真机/虚拟机

烧写 链接到标题

烧写方法官方文档有描述 https://milkv.io/zh/docs/duo/getting-started/boot 使用 balenaEtcher 烧写会提示失败,但实际是能烧写好image的 使用Rufus一切正常

coremark测试 链接到标题

CV1800有两个核,其中一个1G的核用来跑Linux,可以针对其跑一下coremark来看一下其CPU性能

下载编译 链接到标题

下载代码

git clone https://github.com/riscv-boom/riscv-coremark.git
cd ./riscv-coremark
git submodule update --init

更新到最新的coremark

cd coremark/
git check main
git pull origin main

修改交叉编译工具链为milkv duo提供的工具链,修改文件为riscv64/core_portme.mk

#RISCVTOOLS=$(RISCV)
RISCVTOOLS=/mnt/g/project/duo-buildroot-sdk/host-tools/gcc/riscv64-elf-x86_64

由于我们是在linux上面跑,因此不需要编译riscv64-baremetal,修改文件build-coremark.sh,注释掉下面两句

#make PORT_DIR=../riscv64-baremetal compile
#mv coremark.bare.riscv ../

执行下面命令开始编译

./build-coremark.sh

看到下面log表示编译成功,生成的结果为coremark.riscv

Start compilation /mnt/g/project/duo-buildroot-sdk/host-tools/gcc/riscv64-elf-x86_64/bin/riscv64-unknown-elf-gcc -O2 -I../riscv64 -I. -DFLAGS_STR=""-O2 “" -DITERATIONS=0 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c ../riscv64/core_portme.c -o ./coremark.riscv

测试执行 链接到标题

ssh登录192.168.42.1,用户名root, 密码milkv, 通过sftp将coremark.riscv传送到milkv的/root目录下 在ssh远程终端中执行下面命令开始测试

./coremark.riscv

大约20秒后可以得到测试结果如下 Coremark为2998 https://www.eembc.org/coremark/scores.php查询性能的SOC如下 接近同为risc-v内核的HiFive Unleshed, 每M的core数要高一些,因此可以推断C906的架构效能可能比HiFive Unleshed高 但比ARM M7内核的RT1050差,每M的core数低比较多,看起来RISC-V的微架构还是有进步空间