Milk-v duo上手体验&coremark测试
最近参加算能1积分活动,收到了Milk-v duo开发板,板上直接可用硬件有
- CV1800B主芯片,内含64M DDR2内存
- 一颗可控LED灯
- SD插槽
- 摄像头MIPI接口
- Mic(未上件)
算能官网:
https://www.sophgo.com/site/index.html
板子很小巧,大约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
3git clone https://github.com/riscv-boom/riscv-coremark.git
cd ./riscv-coremark
git submodule update --init
更新到最新的coremark1
2
3cd 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的微架构还是有进步空间