开发环境搭建
基于WSL+Ubuntu
安装必要工具
sudo apt-get install wget git make
下载代码
git clone GitHub - milkv-duo/duo-examples: Milk-V Duo official C/C++ examples
下载编译工具
cd duo-examples
source envsetup.sh
如果下载慢可以去https://ghproxy.com/输入https://github.com/milkv-duo/duo-app-sdk/releases/download/20230621/duo-sdk.tar.gz下载,或者直接输入https://ghproxy.com/https://github.com/milkv-duo/duo-app-sdk/releases/download/20230621/duo-sdk.tar.gz下载
然后解压tar -xvf /mnt/e/BOARD/milkv/duo-sdk.tar.gz -C .
再
source envsetup.sh
编译例程
cd hello-world
Make
/home/lhj/duo-examples/duo-sdk/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/lhj/duo-examples/duo-sdk/rootfs/usr/include -o helloworld.o -c helloworld.c
/home/lhj/duo-examples/duo-sdk/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl-gcc -o helloworld helloworld.o -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -L/home/lhj/duo-examples/duo-sdk/rootfs/lib -L/home/lhj/duo-examples/duo-sdk/rootfs/usr/lib
导入到开发板
scp helloworld root@192.168.42.1:/root/
提示时输入yes
运行测试
Coremark测试
cd coremark/
修改posix/core_portme.h中FLAGS_STR为实际的优化等级,比如”-O3”
vi build.sh添加如下编译脚本内容
/home/lhj/duo-examples/duo-sdk/riscv64-linux-musl-x86_64/bin/riscv64-unknown-linux-musl-gcc -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/home/lhj/duo-examples/duo-sdk/rootfs/usr/include -I./posix -I. -mcpu=c906fdv -march=rv64imafdcv0p7xthead -mcmodel=medany -mabi=lp64d -L/home/lhj/duo-examples/duo-sdk/rootfs/lib -L/home/lhj/duo-examples/duo-sdk/rootfs/usr/lib -O3 core_list_join.c core_main.c core_matrix.c core_state.c core_util.c posix/core_portme.c -DPERFORMANCE_RUN=1 -DITERATIONS=1000 -o coremark
~
编译
chmod +x build.sh
./build.sh
导入到开发板
scp coremark root@192.168.42.1:/root/
运行
./coremark
测试结果如下
https://www.eembc.org/coremark/scores.php下可以对比得分
这里对比RISC-V可以看到本板得分是最高的。