A40i评估板评测
1.1系统启动测试
接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART0调试串口。打开设备管理器,确认评估板USB TO UART0调试串口对应的COM端口号。

打开串口调试终端Mobaxterm,新建Session,选择Serial, 对应的COM端口号,设置波特率为115200,建立串口连接,如下图所示。

将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将启动方式选择拨码开关拨为0(并非拨码开关上文字),此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统将会自动登录root用户,串口终端会打印如下类似启动信息。

核心板LED在系统启动过程中的变化说明如下:评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁;eMMC进行读写时,LED2闪烁。
1.2.2通过OpenSSH连接评估板
OpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。
将评估板RGMII ETH网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。
Target#udhcpc -i eth0
执行如下命令
Target#ifconfig
可查询IP地址。本次查询到的IP地址是192.168.0.85

创建ssh会话,操作如下:


1.2.3通过OpenSSH的SCP服务实现开发板与电脑之前互相文件
192.168.0.85是前一天查询结果, 评测有中断, 测试当天IP192.168.0.88看下图。
打开winSCP创建scp连接

连接后会提示启动Putty SSH终端, 我们有更好用的mobaxterm, 就不用 putty


连接后, 可以看到开发板/root目录下文件列表,及电脑本地文件目录, 像操作windows一拖一下就可实现开发板与电脑之间文件互传。

mobaxterm连接后, 也可以看到开发板文件目录, 这个不如winSCP方便稳定 。

没有winSCP也使用scp命令实现 PC机与评估板文件互想
Mobaxterm打开一个命令行终端
使用scp命令从PC机传送文件至评估板执行如下命令:
Host#touch test1//新建文件
Host#scp test1 root@192.168.0.85
在PC新建文件test1,并使用scp命令将test1文件拷贝至评估板文件系统根目录。

连接评估板ssh终端
Host#ssh root@192.168.0.85
如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入:yes。
在评估板上执行如下命令可看到从PC机拷贝过来的文件,如下图所示。
Target#ls
使用OpenSSH从评估板传送文件至PC机执行如下命令在评估板文件系统根目录新建一个测试文件test2。
Target#cd /
Target#touch test2 //新建文件
1.3LED测试
评估底板LED1、LED2与GPIO对应关系如下表所示,系统启动后默认点亮。
LED与GPIO对应表如下:
LED1LED2
PB4 PB10
查询系统LED
ls /sys/class/leds
查看led状态值
cat /sys/class/leds/user-led0/brightness

默认LED1 LED2是全亮的

进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。


1.4按键测试
评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。其中KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
Target#cat /proc/bus/input/devices
执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,"00ca"表示KEY5,按"Ctrl + C"可终止测试命令。
Target#od -x /dev/input/event5

1.5时钟设置测试
Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。如需使用外部RTC时钟,请先安装RTC电池。如下为时钟相关的常用命令。

2)查看RTC时钟
Target#hwclock -u
(3)设置系统时间
Target#date -s "2021-03-10 16:15:00"//设置时间:2021年3月10日16点15分00秒T
arget#date
(4)同步系统时钟至RTC时钟
Target#hwclock --systohc -u
Target#hwclock -u
(5)同步系统和RTC的时钟执行指令后,系统会同步RTC时钟作为系统时钟。
Target#hwclock --hctosys -u

1.6DDR读写测试
DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。
(1)DDR读速度测试进入评估板系统,执行如下命令对DDR进行读速度测试。
Target#bw_mem 50M rd图 30 测试从DDR中读取50MByte数据,可看到本次测试的读速度为1207.58MB/s。
(2)DDR写速度测试进入评估板系统,执行如下命令对DDR进行写速度测试。Target#bw_mem 50M wr图 31 测试写入50MByte数据至DDR中,可看到本次测试的写速度为617.55MB/s。(3)DDR拷贝速度测试进入评估板系统,执行如下命令对DDR进行拷贝速度测试。
Target#bw_mem 50M cp

测试拷贝50MByte数据至DDR中,可看到本次测试的拷贝速度为328.59MB/s。1.7Micro SD接口读写测试本小节使用SanDisk品牌、128GByte容量的Micro SD卡来测试评估板Micro SD接口性能。请参考《Linux系统启动卡制作及系统固化》文档将其制作成Linux系统启动卡再进行测试。不同的Micro SD卡以及不同的测试方法,对Micro SD接口测试结果将造成一定差异。请先取出Linux系统启动卡,根据底板丝印将启动方式选择拨码开关拨为0,将评估板上电,系统将从eMMC启动, 再将Linux系统启动卡插入评估板Micro SD卡槽。 进入评估板文件系统执行如下命令查看Micro SD卡信息。
Target#fdisk -l

测试拷贝50MByte数据至DDR中,可看到本次测试的拷贝速度为328.59MB/s。1.7Micro SD接口读写测试本小节使用SanDisk品牌、128GByte容量的Micro SD卡来测试评估板Micro SD接口性能。请参考《Linux系统启动卡制作及系统固化》文档将其制作成Linux系统启动卡再进行测试。不同的Micro SD卡以及不同的测试方法,对Micro SD接口测试结果将造成一定差异。请先取出Linux系统启动卡,根据底板丝印将启动方式选择拨码开关拨为0,将评估板上电,系统将从eMMC启动, 再将Linux系统启动卡插入评估板Micro SD卡槽。
进入评估板文件系统执行如下命令查看Micro SD卡信息。
Target#fdisk -l
(1)Micro SD接口写速度测试进入评估板系统,执行如下命令测试Micro SD接口写速度。
Target#echo 3 > /proc/sys/vm/drop_caches
Target#mkdir -p /run/media/mmcblk1p7
Target#mount /dev/mmcblk1p7 /run/media/mmcblk1p7
Target#time dd if=/dev/zero of=/run/media/mmcblk1p7/test bs=1024K count=500time
命令有计时作用,dd用于复制,从if(input file)文件读出,写到of(output file)指定的文件,bs是每次写块的大小,count是读写块的数量。"if=/dev/zero"不产生IO,即不断输出数据,可用来测试纯写速度。
此处一共写500MByte测试数据至Micro SD卡的test文件,可看到本次测试的Micro SD接口写速度约为:500MB/24.603s = 20.32MB/s。
(2)Micro SD接口读速度测试执行如下命令测试Micro SD接口读速度。
Target#echo 3 > /proc/sys/vm/drop_cachesTarget#time dd if=/run/media/mmcblk1p7/test of=/dev/null bs=1024K"of=/dev/null"
不产生IO,即不断接收数据,可用来测试纯读速度。

此处从test文件一共读出500MByte的数据,可看到本次测试的Micro SD接口读速度约为:500MB/26.714s = 18.71MB/s。1.8eMMC读写测试将Linux系统启动卡插入评估板Micro SD卡槽,评估板上电启动完成后,执行如下命令查看信息。
Target#fdisk -l
(1)eMMC写速度测试执行如下命令对eMMC设备进行写速度测试。
Target#echo 3 > /proc/sys/vm/drop_caches
Target#mkdir -p /run/media/mmcblk0p7
Target#mount /dev/mmcblk0p7 /run/media/mmcblk0p7
Target#time dd if=/dev/zero of=/run/media/mmcblk0p7/test bs=1024K count=500
此处一共写500MByte测试数据至eMMC设备,可看到本次测试的eMMC设备写速度约为500MB/6.489s = 77.05MB/s。
(2)eMMC读速度测试执行如下命令对eMMC设备进行读速度测试。Target#echo 3 > /proc/sys/vm/drop_caches
Target#time dd if=/run/media/mmcblk0p7/test of=/dev/null bs=1024K
此处从eMMC设备中一共读出500MByte数据,可看到本次测试的eMMC设备读速度约为500MB/5.491s = 90.05MB/s。