分享免费的编程资源和教程

网站首页 > 技术教程 正文

「嵌入式必学」eMMC读写、SATA接口测试——基于全志T3平台(3)

goqiw 2024-09-24 15:50:38 技术教程 54 ℃ 0 评论

本篇文章将会分为好几大部分,详细分享嵌入式初学者拿到开发板后,所需要做的一些基础性测试,例如系统启动、文件传送 、LED、按键、时钟设置、DDR读写、SATA等接口读写、串口等测试,感兴趣的可以按照文章数查阅。

前 言

本指导文档适用开发环境:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

Linux开发环境:Ubuntu18.04.4 64bit

虚拟机:VMware15.1.0

进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件。

本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统,通过路由器与PC机进行网络连接。

本次测试板卡为基于创龙科技TLT3-EVM是一款基于全志科技T3处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,每核主频高达1.2GHz。

评估板接口资源丰富,引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒体接口,支持双屏异显、1080P@45fps H.264视频硬件编解码,并支持SATA大容量存储接口。

Linux系统启动卡对应的设备节点为mmcblk1,eMMC对应的设备节点为mmcblk0。

eMMC读写测试

将Linux系统启动卡插入评估板Micro SD卡槽,评估板上电启动完成后,执行如下命令查看信息。

备注:Micro SD卡的设备节点为mmcblk1,eMMC的设备节点为的设备节点为mmcblk0。

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

SPI FLASH读写测试

执行如下命令,查看SPI FLASH分区。

Target# cat /proc/mtd

SPI FLASH写速度测试

执行如下命令,进行测试。

Target# time dd if=/dev/zero of=/dev/mtd0 bs=1024K count=8

此处向SPI FLASH写入8MByte数据,可看到本次测试的SPI FLASH写速度约为8MB/27.118s = 0.29MB/s。

SPI FLASH读速度测试

将评估板断电重启,执行如下命令进行测试。

Target# time dd if=/dev/mtd0 of=/dev/null bs=1024K

此处从SPI FLASH读取8MByte数据,可看到本次测试的SPI FLASH读速度约为8MB/2.725s = 2.93MB/s。

SATA接口测试

本章节使用三星品牌、120GByte容量、FAT32格式的SATA接口SSD固态硬盘(以下简称“SATA硬盘”)测试SATA接口。请将SATA硬盘与评估板SATA接口连接,如下图所示。

执行如下命令可查询挂载路径。挂载名和挂载路径请以实际查询为准,如下图所示。挂载多个存储设备时,挂载名可能会变更。

Target# fdisk -l

Target# df -h


写速度测试

执行如下命令,测试SATA盘写速度。

Target# echo 3 > /proc/sys/vm/drop_caches

Target# time dd if=/dev/zero of=/mnt/usb/sda1/test bs=1024K count=1000

此处一共写1000MByte测试数据到SATA盘,可看到本次测试的SATA盘写速度约为1000MB/30.119s = 33.20MB/s。

读速度测试

执行如下命令,测试SATA盘读速度。

Target# echo 3 > /proc/sys/vm/drop_caches

Target# time dd if=/mnt/usb/sda1/test of=/dev/null bs=1024K

此处从SATA盘中一共读出1000MByte的数据,可看到本次测试的SATA盘读速度为1000MB/5.326s = 187.65MB/s。

USB接口读写测试

USB HOST模式测试

本章节进行USB HOST模式读写测试,使用SanDisk品牌、FAT32格式、16G容量的U盘,支持USB 3.0/2.0。不同品牌、格式或容量的U盘,测试结果会有所差别。

请通过Micro OTG转USB转接头将U盘与评估板USB0 OTG接口连接,或直接将U盘与评估板USB1 HOST或USB2 HOST任意一个HOST接口连接。如下测试以USB1 HOST接口为例,其余接口方法一致,将U盘插至评估板USB1 HOST接口后,出现如下打印信息,可以从中看到U盘大小、挂载名等,如下图所示。出现如下信息说明正确识别到设备。

执行如下命令可查询挂载路径。挂载名和挂载路径请以实际查询为准,如下图所示。

Target# df -h

备注:USB0 OTG默认是DEVICE模式,测试USB HOST模式时,需将USB0 OTG修改为USB HOST模式。请执行如下命令,修改adb.h文件,在文件最后一行添加内容"cat /sys/bus/platform/devices/usbc0.2/usb_host"。

Target# vim /adb.sh


写速度测试

执行如下命令,测试U盘写速度。

Target# echo 3 > /proc/sys/vm/drop_caches

Target# time dd if=/dev/zero of=/mnt/usb/sda/test bs=1024K count=200

此处一共写200MByte测试数据到U盘,可看到本次测试的U盘写速度约为:200MB/12.179s = 16.42MB/s。

读速度测试

执行如下命令,测试U盘读速度。

Target# echo 3 > /proc/sys/vm/drop_caches

Target# time dd if=/mnt/usb/sda/test of=/dev/null bs=1024K

此处从U盘读取200MByte数据,可看到本次测试的U盘读速度约为200MB/7.365s = 27.15MB/s。

USB DEVICE模式测试

本小节测试仅支持USB0 OTG接口,USB0 OTG默认是DEVICE模式,请通过Micro USB线将PC机与评估板的USB0 OTG(CON13)接口进行连接。

执行如下指令,将系统boot-resource分区虚拟化为U盘,PC机将识别该U盘。

Target# echo /dev/mmcblk1p2 > /sys/class/android_usb/f_mass_storage/lun/file

Target# cat /sys/bus/platform/devices/usbc0.2/otg_role //查看当前USB模式

将U盘中的图片bootlogo.bmp拷贝至PC机中,在PC机查看图片是否正常显示,接着再把图片从电脑拷贝至U盘。

PC机可正常识别boot-resource分区虚拟化的U盘,并能正常查看boot-resource分区文件与正常读写,说明功能正常。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表