完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 Tronlong创龙科技 于 2023-6-15 14:33 编辑
目录 1 评估板快速测试 1.1 系统启动测试 1.2 文件传送测试 1.2.1 通过Linux系统启动卡 1.2.2 通过OpenSSH 1.3 LED测试 1.4 按键测试 1.4.1 用户输入按键测试 1.4.2 CPU ON/OFF按键测试 1.5 时钟设置测试 1.6 DDR读写测试 1.7 MicroSD接口读写测试 1.8 eMMC读写测试 1.9 SPIFLASH读写测试 1.10 PCIe接口测试 1.10.1 SATA接口固态硬盘测试 1.10.2 M.2接口固态硬盘测试 本案例适用开发环境: Windows开发环境:Windows 7 64bit、Windows 10 64bit 虚拟机:VMware15.1.0 Linux开发环境:Ubuntu18.04.4 64bit U-Boot:U-Boot-2020.04 Kernel:Linux-5.4.70 Linux SDK:5.4.70_2.3.0 进行操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机、Linux SDK等相关软件。 本文主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART2作为调试串口,使用Linux系统启动卡启动系统,通过路由器与PC机进行网络连接。 本案例采用的评估版为创龙科技TLIMX8-EVM,它是一款基于NXP i.MX 8M Mini的四核ARM Cortex-A53 + 单核ARM Cortex-M4异构多核处理器设计的高性能评估板,由核心板和评估底板组成。ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz,ARM Cortex-M4实时处理单元主频高达400MHz。处理器采用14nm最新工艺,支持1080P60 H.264视频硬件编解码、1080P60 H.265视频硬件解码、GPU图形加速器。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。 评估板接口资源丰富,引出MIPI CAMERA、MIPI/LVDS LCD、HDMI OUT、LINE IN/OUT、PCIe、FlexSPI、USB、RS485、RS232、千兆网口、百兆网口等接口,板载WIFI模块,支持Mini-PCIe4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与威廉希尔官方网站
预研。 评估板正视图 1.1 系统启动测试 接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART2调试串口。打开设备管理器,确认评估板USBTO UART2调试串口对应的COM端口号。 图 1 图 2 打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。 图 3 将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将启动方式选择拨码开关拨为11100(1~5),此档位为SD卡启动模式。将评估板上电启动,串口终端会打印如下类似启动信息。 图 4 图 5 图 6 核心板LED在系统启动过程中的变化说明如下: 评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直到内核启动运行时,LED2熄灭,LED1进行心跳闪烁;eMMC进行读写时,LED2闪烁。 系统启动后会自动登录root用户,说明使用Linux系统启动卡启动评估板成功。 图 7 如需从eMMC启动评估板,请执行如下脚本命令一键固化Linux系统至eMMC。 Target# /opt/tools/mkemmcboot.sh 图8 用时约5min,eMMC成功固化Linux系统,同时串口调试终端打印提示信息。将评估板断电,将Linux系统启动卡从评估板MicroSD卡槽中取出,根据评估底板丝印将启动方式选择拨码开关拨为00010(1~5),此档位为eMMC启动模式。 将评估板上电,评估板将从eMMC启动U-Boot,然后加载Linux内核、设备树和文件系统。 1.2 文件传送测试 PC机和评估板之间传送文件的常见方式如下: (1) 通过Linux系统启动卡、U盘等存储介质方式拷贝。 (2) 通过NFS、TFTP、OpenSSH等网络方式拷贝。 1.2.1 通过Linux系统启动卡 将配套的系统启动卡插至PC机,然后把需要拷贝至评估板的文件拷贝至系统启动卡的BOOT分区,如下图所示。 图 9 将系统启动卡插至评估板,启动系统并执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统“/run/media/mmcblk1p1/”目录下。 Target# df -h Target# ls /run/media/mmcblk1p1 图 10 1.2.2 通过OpenSSH OpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。 在Ubuntu中执行如下命令,查询是否已安装OpenSSH。 Host# ssh -v 图 11 可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。 将评估板RGMII ETH网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。“-i”用于指定网卡,eth0为网卡名字,请根据实际情况修改。 Target# udhcpc -ieth0 图 12 执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.120。 Target# ifconfig 图 13 (1) 使用OpenSSH从PC机传送文件至评估板 执行如下命令在Ubuntu中新建文件test1,并使用OpenSSH命令将test1文件拷贝至评估板文件系统根目录。 Host# touch test1 //新建文件 Host# scp test1 root@192.168.0.120:/ 图 14 如出现提示“Are you sure you want to continue connecting(yes/no)?”,请输入:yes。 在评估板上执行如下命令可看到从PC机拷贝过来的文件,如下图所示。 Target# ls / 图 15 (2) 使用OpenSSH从评估板传送文件至PC机 执行如下命令在评估板文件系统根目录新建一个测试文件test2。 Target# cd / Target# touch test2 图 16 在Ubuntu上执行如下OpenSSH命令将评估板测试文件test2拷贝至PC机“/home/tronlong/test/”目录下。如传输的是文件夹,请在scp后面添加参数“-r”。 Host# sudo scp root@192.168.0.120:/test2/home/tronlong/test/ Host# ls /home/tronlong/test/ 图 17 (3) 使用OpenSSH登录到评估板文件系统 在Ubuntu执行如下命令可通过OpenSSH登录评估板文件系统。 Host# sudo ssh root@192.168.0.120 图 18 如需退出登录,请执行exit或者logout命令。 1.3 LED测试 评估底板LED与GPIO对应关系如下表所示。 表 1
(1) 逐盏点亮LED 进入评估板文件系统,执行如下命令逐盏点亮、熄灭LED。 Target# echo 0 >/sys/class/leds/user-led0/brightness //控制USER1 LED灭 Target# echo 1 >/sys/class/leds/user-led0/brightness //控制USER1 LED亮 Target# echo 0 >/sys/class/leds/user-led1/brightness //控制USER2 LED灭 Target# echo 1 >/sys/class/leds/user-led1/brightness //控制USER2 LED亮 图 19 1.4 按键测试 1.4.1 用户输入按键测试 评估板用户输入按键KEY3对应GPIO1_6。进入评估板系统,执行如下命令查看按键事件号。 Target# cat /proc/bus/input/devices 图 20 从上图中可看到按键事件号为event1,执行如下命令,按下KEY3进行按键测试,可看到如下打印信息。按“Ctrl + C”可终止测试命令。 Target# od -x /dev/input/event1 图 21 1.4.2 CPU ON/OFF按键测试 评估板上电启动后,长按CPU ON/OFF按键5s,核心板两个用户指示灯与电源指示灯全灭,系统断电。再长按CPU ON/OFF按键1s,系统重新启动,串口调试终端将会打印如下类似启动信息。 图 22 1.5 时钟设置测试 图 23 Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。 如需使用RTC时钟,请先安装纽扣电池。CON3为RTC纽扣电池座,适配纽扣电池ML2032(3V可充)、CR2032(3V不可充)。使用可充电电池时,请将跳线帽插入J1实现充电。使用不可充电电池时,请确保无跳线帽插入J1。 如下为时钟相关的常用命令。 (1) 查看系统时钟 Target# date 图 24 (2) 查看RTC时钟 Target# hwclock -u 图 25 (3) 设置系统时间 Target# date -s "2021-03-1016:15:00" //设置时间:2021年3月10日16点15分00秒 Target# date 图 26 (4) 同步系统时钟到RTC时钟 Target# hwclock --systohc -u Target# hwclock -u 图 27 (5) 同步RTC时钟到系统时钟 Target# hwclock --hctosys -u 图 28 1.6 DDR读写测试 Linux系统启动时,在U-Boot的SPL阶段完成DDR的初始化,并打印DDR实际容量,如下图所示。 图 29 DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。 (1) DDR读速度测试 进入评估板系统,执行如下命令对DDR进行读速度测试。 Target#bw_mem 100M rd 图 30 测试从DDR中读取100MByte数据,可看到本次测试的读速度为2308.88MB/s。 (2) DDR写速度测试 进入评估板系统,执行如下命令对DDR进行写速度测试。 Target#bw_mem 100M wr 图 31 测试写入100MByte数据至DDR中,可看到本次测试的写速度为1357.81MB/s。 (3) DDR拷贝速度测试 进入评估板系统,执行如下命令对DDR进行拷贝速度测试。 Target#bw_mem 100M cp 图 32 测试拷贝100MByte数据至DDR中,可看到本次测试的拷贝速度为767.07MB/s。 1.7 Micro SD接口读写测试 本小节使用SanDisk品牌、128GByte容量的Micro SD卡来测试评估板Micro SD接口性能。请参考《Linux系统启动卡制作及系统固化》文档将其制作成Linux系统启动卡再进行测试。不同的Micro SD卡以及不同的测试方法,对Micro SD接口测试结果将造成一定差异。 将Micro SD卡插入评估板Micro SD卡槽,启动方式选择拨码开关拨为00010(1~5),此档位为eMMC启动模式。进入评估板文件系统执行如下命令查看Micro SD卡挂载信息。 Target#df -h 图 33 (1) Micro SD接口写速度测试 进入评估板文件系统,执行如下命令测试Micro SD接口写速度。 Target# echo 3> /proc/sys/vm/drop_caches Target# time dd if=/dev/zeroof=/run/media/mmcblk1p2/test bs=1024K count=200 conv=fsync time命令有计时作用,dd用于复制,从if(input file)文件读出,写到of(output file)指定的文件,bs是每次写块的大小,count是读写块的数量。 “if=/dev/zero”不产生IO,即不断输出数据,可用来测试纯写速度。 图 34 此处一共写200MByte测试数据至Micro SD卡的test文件,可看到本次测试的Micro SD接口写速度约为58.7MB/s。 (2) Micro SD接口读速度测试 进入评估板文件系统,执行如下命令测试Micro SD接口读速度。 Target# echo 3> /proc/sys/vm/drop_caches Target# time dd if=/run/media/mmcblk1p2/testof=/dev/null bs=1024K “of=/dev/null”不产生IO,即不断接收数据,可用来测试纯读速度。 图 35 此处从test文件中一共读出200MByte的数据,可看到本次测试的Micro SD接口读速度为86.3MB/s。 1.8 eMMC读写测试 需对eMMC设备进行分区后方可对其进行读写测试。评估板出厂时,默认已完成eMMC设备分区工作,执行如下命令可查看eMMC容量以及分区信息。 Target# dmesg |grep mmcblk0 图 36 其中boot分区在评估板文件系统挂载路径为“/run/media/mmcblk0p1/”,rootfs分区在评估板文件系统挂载路径为“/run/media/mmcblk0p2/”,执行如下命令可查看挂载情况。 Target# df -h 图 37 (1) eMMC写速度测试 进入评估板系统,执行如下命令对eMMC设备进行写速度测试。 Target# echo 3> /proc/sys/vm/drop_caches Target# time dd if=/dev/zeroof=/run/media/mmcblk0p2/test bs=1024K count=200 conv=fsync 图 38 此处一共写200MByte测试数据至eMMC设备rootfs分区下的test文件,可看到本次测试的eMMC设备写速度为9.0MB/s。 (2) eMMC读速度测试 进入评估板系统,执行如下命令对eMMC设备进行读速度测试。 Target# echo 3> /proc/sys/vm/drop_caches Target# time ddif=/run/media/mmcblk0p2/test of=/dev/null bs=1024K 图 39 此处从test文件中一共读出200MByte数据,可看到本次测试的eMMC设备读速度为171MB/s。 1.9 SPI FLASH读写测试 本小节对评估板底板SPI FLASH的MTD0分区进行读写速度测试。MTD0分区大小为8MByte,读写测试会将该分区内容擦除,请做好数据备份。 执行如下命令加载驱动,查询SPI FLASH分区,确认MTD0分区大小(读写请勿超出分区大小),将该分区内容擦除。 Target# modprobe spi-nor Target# cat /proc/mtd Target# flash_erase/dev/mtd0 0 0 图 40 (1) SPI FLASH写速度测试 进入评估板系统,执行如下命令对SPI FLASH进行写速度测试。 Target# time dd if=/dev/zeroof=/dev/mtd0 bs=1024k count=8 图 41 测试写入8MByte数据至SPI FLASH的MTD0分区下,可看到本次测试的SPI FLASH写速度为369KB/s。 (2) SPI FLASH读速度测试 重启评估板,进入评估板系统,执行如下命令对SPI FLASH进行读速度测试。 Target# modprobe spi-nor Target# cat /proc/mtd Target# time dd if=/dev/mtd0 of=/dev/null bs=1024k 图 42 测试从SPI FLASH的MTD0分区读取8MByte数据,可看到本次测试的SPI FLASH读速度为1.4MB/s。 1.10 PCIe接口测试 本章节分别通过PCIe接口读写SATA接口和M.2接口的固态硬盘,测试PCIe接口外接固态硬盘的读写带宽。 1.10.1 SATA接口固态硬盘测试 本小节使用三星品牌、120GByte容量、FAT32格式的SATA接口SSD固态硬盘(以下简称“SATA硬盘”)测试。 评估板断电,将PCIe转SATA模块(品牌:乐扩,型号:IO-PCE9215-4I)插至评估板PCIe SLOT接口,并将SATA硬盘连接至PCIe转SATA模块。测试工具采用fio,fio工具将会清除SATA硬盘的数据,请注意备份数据,建议使用空硬盘进行测试。 图 43 评估板上电,执行如下命令查看是否检测到PCIe和SATA硬盘。 备注:若未能识别到SATA硬盘,请用SATA转USB线,将SATA硬盘连接到PC机查看是否已为FAT32格式。 Target# lspci Target# fdisk -l 图 44 (1) SATA硬盘写速度测试 Target# fio -filename=/dev/sda -ioengine=libaio -iodepth=1 -iodepth_batch=1-iodepth_low=1 -iodepth_batch_complete=1 -direct=1 -rw=write -bs=1024K-size=1000M -numjobs=1 -thread -group_reporting -name=write_job -userspace_reap-ramp_time=1 -allow_mounted_write=1 备注:"/dev/sda"为本次的设备号,具体设备号可使用fdisk -l命令查看。 图 45 测试写入1000MByte数据至SATA硬盘中,可看到本次测试SATA硬盘写速度为283MB/s。 (2) SATA硬盘读速度测试 Target# fio-filename=/dev/sda-ioengine=libaio -iodepth=1 -iodepth_batch=1 -iodepth_low=1-iodepth_batch_complete=1 -direct=1 -rw=read -bs=1024K -size=1000M -numjobs=1-thread -group_reporting -name=read_job -userspace_reap -ramp_time=1 备注:"/dev/sda"为本次的设备号,具体设备号可使用fdisk -l命令查看。 图 46 测试从SATA硬盘中读出1000MByte数据,可看到本次测试SATA硬盘读速度为233MB/s。 1.10.2 M.2接口固态硬盘测试 本小节使用西数数据SN550、FAT32格式、500GByte容量的M.2接口(NVMe协议)SSD固态硬盘(以下简称“M.2硬盘”)进行测试。 评估板断电,请将M.2硬盘插在PCIe转M.2模块(型号:绿联M.2 NVMe转PCI-E3.0X4扩展卡),然后将PCIe转M.2模块插至评估板PCIe SLOT接口。测试工具采用fio,fio工具将会清除M.2硬盘的数据,请注意备份数据,建议使用空硬盘进行测试。 图 47 图 48 PCIe转M.2模块信号示意图 备注:PCIe转M.2模块信号示意图仅供参考,并非模块的原理图。 评估板上电,执行如下命令查看是否检测到PCIe和M.2硬盘,并可看到插入的M.2硬盘设备节点为“/dev/nvme0n1”。 备注:若未能识别到M.2硬盘,请将M.2硬盘通过PCIe转M.2模块连接至PC机查看是否已为FAT32格式。 Target# lspci Target# fdisk -l 图 49 (1) M.2硬盘写速度测试 Target# fio-filename=/dev/nvme0n1 -ioengine=libaio -iodepth=1 -iodepth_batch=1 -iodepth_low=1-iodepth_batch_complete=1 -direct=1 -rw=write -bs=1024K -size=1000M -numjobs=1-thread -group_reporting -name=write_job -userspace_reap -ramp_time=1-allow_mounted_write=1 备注:"/dev/nvme0n1"为本次的设备号,具体设备号可使用fdisk -l命令查看。 图 50 测试写入1000MByte数据至M.2硬盘中,可看到本次测试M.2硬盘写速度为332MB/s。 (2) M.2硬盘读速度测试 Target# fio -filename=/dev/nvme0n1 -ioengine=libaio -iodepth=1-iodepth_batch=1 -iodepth_low=1 -iodepth_batch_complete=1 -direct=1 -rw=read-bs=1024K -size=1000M -numjobs=1 -thread -group_reporting -name=read_job-userspace_reap -ramp_time=1 备注:"/dev/nvme0n1"为本次的设备号,具体设备号可使用fdisk -l命令查看。 图 51 测试从M.2硬盘中读出1000MByte数据,可看到本次测试M.2硬盘读速度为209MB/s。 |
|
相关推荐
|
|
436 浏览 0 评论
924 浏览 0 评论
1706 浏览 1 评论
飞凌嵌入式ElfBoard ELF 1板卡-spi编程示例之spi编写程序
1053 浏览 0 评论
飞凌嵌入式-ELFBOARD 4.3吋电容触摸液晶模块简介第三期 :机械机构说明
1205 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 16:43 , Processed in 0.591893 second(s), Total 63, Slave 46 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号