本帖最后由 ゛向日葵的执着 于 2017-10-9 12:58 编辑
上篇文章主要对Nano Pi Duo 开发板的基本情况进行了介绍,以及对其进行了初次上电介绍,接下来这篇Nano Pi Duo评测文章主要介绍如何部署Nano Pi Duo开发板的交叉编译环境,以及对开发板的SOC主线U-boot源码以及Linux内核源码进行编译以及更新u-boot和内核镜像文件,另外,对开发板的CPU以及内存,外存性能进行了基本的测试。 一、交叉编译环境部署 先下载官方给出的交叉编译工具链,链接如下 新建一个文件夹,并将交叉编译工具解压到该路径下
- # mkdir -p /opt/FriendlyARM/toolchain
复制代码
- # tar xf arm-cortexa9-linux-gnueabihf-4.9.3.tar.xz -C /opt/FriendlyARM/toolchain/
复制代码
修改配置文件,设定好环境变量,在改文件末尾添加下面这两行
使环境变量立即生效
然后检查是否配置成功
到此,交叉编译环境配置完成。 二、U-boot源码编译 使用git工具进行U-boot源码下载,下载完成切换分支
- # git clone https://github.com/friendlyarm/u-boot.git
复制代码
- # git checkout sunxi-v2017.x
复制代码
U-boot源码编译
- # make nanopi_m1_plus_defconfig ARCH=arm CROSS_COMPILE=arm-linux-
复制代码
提示:nanopi_m1_plus_defconfig这个配置文件也是适合Nano Pi Duo开发板的 调出图形化配置界面,可以根据自己需要进行选择
- # make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig
复制代码
U-boot源码进行编译
- # make ARCH=arm CROSS_COMPILE=arm-linux-
复制代码
到宿主机中,使用dd命令更新TF卡启动文件
- dd if=u-boot-sunxi-with-spl.bin of=/dev/sd
复制代码
到这,U-boot源码的相关编译说明结束。 三、Linux内核源码编译 使用git工具进行Linux内核源码下载
- # git clone https://github.com/friendlyarm/linux.git
复制代码
- # git checkout sunxi-4.11.y
复制代码
Linux源码下载成功后,就可以进行编译内核了
设置编译配置文件
- # make sunxi_defconfig ARCH=arm CROSS_COMPILE=arm-linux-
复制代码
调出内核编译图形化配置界面进行适当配置
- # make menuconfig ARCH=arm CROSS_COMPILE=arm-linux-
复制代码
根据自己需要配置好好,便可进行内核编译
- # make zImage dtbs ARCH=arm CROSS_COMPILE=arm-linux-
复制代码
编译完成后会在arch/arm/boot/目录下生成zImage,并且在arch/arm/boot/dts/目录下生成dtb文件,然后在TF卡上直接更新相应的文件即可 更新Linux内核文件
- # cp arch/arm/boot/zImage /media/SD/boot/
复制代码
更新设备树文件
- # cp arch/arm/boot/dts/sun8i-h3-nanopi*.dtb /media/SD/boot/
复制代码
到此,Linux内核源码编译的基本过程介绍完毕。 四、跑分性能测试 对CPU的性能测试方法很多,可以采用计算圆周率的方法,也可以采用Sy***ench测试软件进行测试。 先跑个测试圆周率的程序看看,同时通过Rpi-Monitor查看系统状态,Nano Pi Duo开发板连上WiFi后,获取IP地址,在网页地址上输入IP地址+:8888即可查看开发板系统的状态 在终端上输入下面命令进行圆周率测试,测试时间为1min11s左右
- $ time echo "scale=4000;4*a(1)"|bc -l -q
复制代码
SOC的温度最高达到了61摄氏度左右,内存使用占了百分之三十九左右
CPU的主频也达到了1GHz左右
接下来,安装Sy***ench跑分测试软件进行测试
- $ sudo apt-get install sy***ench
复制代码
对CPU性能进行测试,总时间为61s左右,时间越小越好
- $ sy***ench --test=cpu --num-threads=4 run
复制代码
内存性能测试,内存块大小为1M,传输数据总大小10G,时间越小越好,测试时间为2s左右
- $ sy***ench --test=memory --memory-block-size=1M --memory-total-size=10G --num-threads=4 run
复制代码
磁盘IO性能测试,4G的TF卡
- $ sy***ench --test=fileio --file-test-mode=rndwr --file-total-size=16MB --max-requests=1000 --num-threads=4 run
复制代码
测试完成后,会在当前目录生成一堆小文件,删除即可。 五、总结 源码编译以及性能测试的评测文章就基本差不多了,这款开发板的性能总的来说还是不错的,同时,友善官方对这款开发板的支援也非常的好,在部署交叉环境以及进行源码编译方面的教程很详细,最后,感谢友善之臂以及电子发烧友给予了笔者评测试用Nano Pi Duo 开发板的机会。
|