本帖最后由 Tronlong创龙科技 于 2023-6-14 15:57 编辑
目 录
1 评估板快速测试
1.1 系统启动测试
1.2 文件传送测试
1.2.1 通过Linux系统启动卡
1.2.2 通过OpenSSH
1.3 LED测试
1.4 按键测试
1.5 时钟设置测试
1.6 DDR读写测试
1.7 Micro SD接口读写测试
前 言本指导文档适用开发环境:
Windows开发环境:Windows 764bit、Windows 10 64bit
Linux开发环境:Ubuntu18.04.464bit
虚拟机:VMware15.1.0
进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件。
本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART0作为调试串口,通过路由器与PC机进行网络连接,使用Linux系统启动卡(Micro SD方式)启动系统。其中Micro SD卡的设备节点为mmcblk1,eMMC的设备节点为的设备节点为mmcblk0。
本案例采用的评估版为创龙科技TLA40i-EVM,它是一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,每核主频高达1.2GHz,由核心板和评估底板组成。
评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等
通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、HDMI OUT、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、1080P@45fps H.264视频硬件编码、1080P@60fps H.264视频硬件解码,并支持SATA大容量存储接口。
核心板采用100%国产元器件方案,并经过专业的
PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估底板大部分元器件均采用国产方案,方便用户快速进行产品方案评估与技术预研。
评估版正视图
1 评估板快速测试
1.1 系统启动测试接入
电源,并使用MicroUSB线连接PC机和评估板的USBTO UART0调试串口。打开设备管理器,确认评估板USBTO UART0调试串口对应的COM端口号。
图 1
图 2
打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。
图 3
将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将拨码开关拨为0,此档位将优先从Linux系统启动卡中启动系统。将评估板上电启动,系统将会自动登录root用户,串口终端会打印如下类似启动信息。
图 4
图 5
核心板LED在系统启动过程中的变化说明如下:
评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁;eMMC进行读写时,LED2闪烁。
图 6
1.2 文件传送测试PC机和评估板之间传送文件的常见方式如下:
(1) 通过Linux系统启动卡、U盘等存储介质方式拷贝。
(2) 通过NFS、TFTP、OpenSSH等网络方式拷贝。
1.2.1 通过Linux系统启动卡将配套的系统启动卡通过读卡器插至PC机挂载至虚拟机Ubuntu系统,如下图,查询系统启动卡设备节点,其中\\\"/dev/sdb7\\\"为Linux系统启动卡文件系统分区,具体以实际名称为准。
图7
执行如下命令进行,将\\\"/dev/sdb7\\\"设备节点挂载至\\\"/mnt/\\\"目录下。
Host# sudo mount /dev/sdb7 /mnt
Host# ls /mnt/
图8
执行如下命令在Ubuntu中新建文件test0,将test0文件拷贝至评估板文件系统root目录。
Host# touch test0
Host# sudo cp test0 /mnt/root/
图9
文件拷贝完成后,请执行如下命令卸载设备,并拔出读卡器,从中取出Linux系统启动卡。
Target# sudo umount /dev/sdb7
图10
将Linux系统启动卡插至评估板Micro SD卡槽,评估板上电启动即可查看root目录下的文件。
Target# ls
图11
1.2.2 通过OpenSSHOpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。
在Ubuntu中执行如下命令,查询是否已安装OpenSSH。
Host# ssh -v
图12
可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。
将评估板RGMII ETH网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。\\\"-i\\\"用于指定网卡,eth0为网卡名字,请根据实际情况修改。
Target# udhcpc -i eth0
图13
执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.87。
Target# ifconfig
图14
(1) 使用OpenSSH从PC机传送文件到评估板
执行如下命令在Ubuntu中新建文件test1,并使用OpenSSH命令将test1文件拷贝至评估板文件系统根目录。
Host# touch test1 //新建文件
图15
如出现提示\\\"Are you sure you want to con
tinue connecting(yes/no)?\\\",请输入:yes。
在评估板上执行如下命令可看到从PC机拷贝过来的文件,如下图所示。
Target# ls /
图16
(2) 使用OpenSSH从评估板传送文件到PC机
执行如下命令在评估板文件系统根目录新建一个测试文件test2。
Target# cd /
Target# touch test2 //新建文件
图17
在Ubuntu上执行如下OpenSSH命令将评估板测试文件test2拷贝至PC机\\\"/home/tronlong/\\\"目录下。如果传输的是文件夹,请在scp后面添加参数\\\"-r\\\"。
Host# ls
图18
(3) 使用OpenSSH登录到评估板文件系统
在Ubuntu执行如下命令可通过OpenSSH登录评估板文件系统。
图19
如需退出登录,请执行exit或者logout命令。
1.3 LED测试评估底板LED1、LED2与GPIO对应关系如下表所示,系统启动后默认点亮。
表 1
进入评估板文件系统,执行如下命令逐盏熄灭、点亮LED。
Target# echo 0 > /sys/class/leds/user-led0/brightness //控制LED1灭
Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮
Target# echo 0 > /sys/class/leds/user-led1/brightness //控制LED2灭
Target# echo 1 > /sys/class/leds/user-led1/brightness //控制LED2亮
图 20
1.4 按键测试评估底板包含3个用户按键:KEY3、KEY4、KEY5。进入评估板文件系统,执行如下命令查看用户按键对应的事件号。
Target# cat /proc/bus/input/devices
图 21
从上图中可看到KEY3和KEY4对应的按键事件号为event1,KEY5对应的按键事件号为event5。
执行如下命令,分别按下KEY3和KEY4进行按键测试,可看到如下打印信息,其中\\\"0094\\\"表示KEY3,\\\"0095\\\"表示KEY4,按\\\"Ctrl +C\\\"可终止测试命令。
Target# od -x /dev/input/event1
图 22
执行如下命令,按下KEY5进行按键测试,可看到如下打印信息,\\\"00ca\\\"表示KEY5,按\\\"Ctrl + C\\\"可终止测试命令。
Target# od -x /dev/input/event5
图 23
1.5 时钟设置测试Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。
如需使用RTC时钟,请先安装RTC电池。如下为时钟相关的常用命令。
(1) 查看系统时钟
Target# date
图 24
(2) 查看RTC时钟
Target# hwclock -u
图 25
(3) 设置系统时间
Target# date -s\\\"2021-03-10 16:15:00\\\" //设置时间:2021年3月10日16点15分00秒
Target# date
图 26
(4) 同步系统时钟到RTC时钟
Target# hwclock --systohc -u
Target# hwclock -u
图27
(5) 同步系统和RTC的时钟
执行指令后,系统会同步RTC时钟作为系统时钟。
Target# hwclock --hctosys -u
图28
1.6 DDR读写测试DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。
(1) DDR读速度测试
进入评估板系统,执行如下命令对DDR进行读速度测试。
Target#bw_mem 50Mrd
图 29
测试从DDR中读取50MByte数据,可看到本次测试的读速度为1207.58MB/s。
(2) DDR写速度测试
进入评估板系统,执行如下命令对DDR进行写速度测试。
Target#bw_mem 50Mwr
图 30
测试写入50MByte数据到DDR中,可看到本次测试的写速度为617.55MB/s。
(3) DDR拷贝速度测试
进入评估板系统,执行如下命令对DDR进行拷贝速度测试。
Target#bw_mem 50Mcp
图 31
测试拷贝50MByte数据到DDR中,可看到本次测试的拷贝速度为328.59MB/s。
1.7 Micro SD接口读写测试本小节使用SanDisk品牌、128GByte容量的Micro SD卡来测试评估板Micro SD接口性能。请参考《Linux系统启动卡制作及系统固化》文档将其制作成Linux系统启动卡再进行测试。不同的Micro SD卡以及不同的测试方法,对Micro SD接口测试结果将造成一定差异。
请先取出Linux系统启动卡,根据底板丝印将拨码开关拨为0,将评估板上电,系统将从eMMC启动,再将Linux系统启动卡插入评估板Micro SD卡槽。进入评估板文件系统执行如下命令查看Micro SD卡信息。
Target#fdisk -l
图 32
(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/testbs=1024K count=500
time命令有计时作用,dd用于复制,从if(input file)文件读出,写到of(output file)指定的文件,bs是每次写块的大小,count是读写块的数量。
\\\"if=/dev/zero\\\"不产生IO,即不断输出数据,可用来测试纯写速度。
图 33
此处一共写500MByte测试数据到Micro SD卡的test文件,可看到本次测试的Micro SD接口写速度约为:500MB/24.603s = 20.32MB/s。
(2) Micro SD接口读速度测试
执行如下命令测试Micro SD接口读速度。
Target# echo 3> /proc/sys/vm/drop_caches
Target# time dd if=/run/media/mmcblk1p7/test of=/dev/null bs=1024K
\\\"of=/dev/null\\\"不产生IO,即不断接收数据,可用来测试纯读速度。
图 34
此处从test文件一共读出500MByte的数据,可看到本次测试的Micro SD接口写速度约为:500MB/26.714s = 18.71MB/s。