Milk-v duo上手体验

Creative Commons
本作品采用知识共享署名

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性能

下载编译

下载代码

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

更新到最新的coremark

1
2
3
cd coremark/
git check main
git pull origin main

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

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

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

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

执行下面命令开始编译

1
./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远程终端中执行下面命令开始测试

1
./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的微架构还是有进步空间