最近参加算能1积分活动,收到了Milk-v duo开发板,板上直接可用硬件有
-
CV1800B主芯片,内含64M DDR2内存
-
一颗可控LED灯
-
SD插槽
-
摄像头MIPI接口
-
Mic(未上件)
算能官网:
板子很小巧,大约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
详细查看:CV180-Duo/resources at main · sophgocommunity/CV180-Duo · GitHub
环境搭建
参考https://milkv.io/zh/docs/duo/overview即可,这里不做赘述,只说明遇到的问题
没有RNDIS驱动
Windows10下可能没有RNDIS驱动,因此在设备管理器的其它设备中连带问号的RNDIS都看不到,需要去网上自行下载安装:
https://dl.sipeed.com/fileList/MaixSense/Drivers/Ethernet_RNDIS_drivers_20220808.zip
安装后能看到RNDIS设备,再按照官方文档操作即可
SDK编译
SDK下载和编译生成image的方法直接参考github
注意,WSL1下面无法编译过,通过WSL2或者Linux真机/虚拟机
烧写
烧写方法官方文档有描述
使用 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
接近同为risc-v内核的HiFive Unleshed, 每M的core数要高一些,因此可以推断C906的架构效能可能比HiFive Unleshed高
但比ARM M7内核的RT1050差,每M的core数低比较多,看起来RISC-V的微架构相较于ARM还是有进步空间