news 2026/4/18 2:33:28

T536主板的TF卡的使用与性能测试-盈鹏飞嵌入式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
T536主板的TF卡的使用与性能测试-盈鹏飞嵌入式

CoM-T536产品特性:

  • 采用Allwinner公司Cortex-A55四核T536处理器,最高速度为1.6GHZ;
  • 支持2TOPS NPU,仅特定型号支持;
  • 支持4K/25fps H.264视频编码,支持4K/15fps MJPEG编码;
  • 支持1-4G Bytes LPDDR4 SDRAM;
  • 支持EMMC 4G-64G大容量电子盘,可启动;或支持SPI NAND启动;
  • 支持双通道LVDS,分辨率最高1920x1080@60fps;支持MIPI DSI显示, 分辨率最高1920x1020@60fps;
  • 支持PCIE2.1;支持最多17路UART;支持四路CANFD;支持双路千兆以太网;
  • 稳定的操作系统的支持,可预装LINUX 5.10/Ubuntu 20.04
  • 邮票孔198POS设计, 尺寸为:53.5*45MM

CoM-T536功能图

STK-T536评估板功能图:

3.6、Micro SD卡数据存储

MicroSD Card,原名 Trans-flash Card(TF卡),MicroSD卡是一种极细小的快闪存储器卡。MicroSD卡相比标准SD卡,外形上更加小巧,是SD卡类型中尺寸最小的一种SD卡。尽管MicroSD卡的外形大小及接口形状与原来的SD卡有所不同,但接口规范保持不变,确保了兼容性。截止目前为止,Micro SD卡有如下几种类型:

类型

实际图片

存储容量

说明

microSD

2GB和更小

停产

microSDHC

超过2GB,最高32GB

可以买到

microSDXC

超过32GB,最高2TB

目前市场主流

microSDUC

超过2TB,最高128TB

未来主流

2000年(V1.01):SD卡横空出世,初始版本总线带宽为12.5MB/s,文件系统为FAT12/16,容量上限为2GB。

▲2004年(V1.10):推出高速总线,带宽翻倍至25MB/s。

▲2005年(V1.20):microSD卡魔童降世,身材更苗条,生态更广阔。

2006年(V2.00):推出SDHC标准,文件系统更新为FAT32,容量上限提升至32GB,并首次发布速度等级标识(Class 2、Class 4、Class 6)。

▲2009年(V3.00):推出SDXC标准,文件系统更新为exFAT,容量上限提升至2TB,并拓展速度等级至Class 10。

▲2010年(V3.01):推出UHS-I总线,带宽飙升至104MB/s,并发布UHS速度等级标识U1。

▲2011年(V4.00):推出UHS-II总线,带宽提升两倍至312MB/s。

▲2013年(V4.20):拓展UHS速度等级至U3。

▲2016年(V5.00):发布视频速度等级标识(V6、V10、V30、V60、V90)。

▲2016年(V5.10):发布应用效能等级标识A1,关注随机读写性能。

▲2017年(V6.00):推出UHS-III总线,带宽翻倍至624MB/s,并拓展应用效能等级至A2,还发布低电压信号标识LV(然而并未推广)。

▲2018年(V7.00):推出SDUC标准,容量上限提升至128TB,同时推出吊炸天的SD Express总线,带宽提升至985MB/s。

▲2019年(V7.10):microSD卡引入SD Express总线。

二十年来,SDA让SD卡身材越来越小、容量越来越大、速度越来越快、规格标识越来越透明。但是当看到卡的时候,还是让人眼花缭乱。同时,主控制器的SD卡接口符合哪个一个标准,这也决定了卡读写的速度。以下是T536规格书中针对于TF卡接口的描述:

The SMHC0 controls the devices that comply with the protocol Secure Digital Memory (SD mem-version 3.0)

从这个信息可以看出来,T536的SD接口符合SD 3.0的标准,因此最高的性能是SDR mode 200Mhz。根据这个链接上的信息和以下关于读写速度的对应表,基本可以判断T536读的速度超过SDR104MB/s。

下表是速度等级标识(Speed Class)

备注:代表持续稳定的最低写入速度(即视频文件最低写入速度)。

以下是本次测试用卡的实际图片,可以看到它是一个来自SANDISK品牌,容量为32GB的卡,它符合的标准是SDHC(UHS-I)标准,写速度等级是10MB/s。

1) 插入TF卡后的终端信息如下:

[ 98.106177] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 0Hz bm PP pm OFF vdd 0 width 1 timing LEGACY(SDR12) dt B [ 134.648748] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 0Hz bm PP pm UP vdd 23 width 1 timing LEGACY(SDR12) dt B [ 134.661771] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: no vqmmc,Check if there is regulator [ 134.683661] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 400000Hz bm PP pm ON vdd 23 width 1 timing LEGACY(SDR12) dt B [ 134.697207] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 134.718599] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 400000Hz bm PP pm ON vdd 23 width 1 timing LEGACY(SDR12) dt B [ 134.732019] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 134.743742] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 400000Hz bm PP pm ON vdd 23 width 1 timing LEGACY(SDR12) dt B [ 134.757162] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 134.768396] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 400000Hz bm PP pm ON vdd 23 width 1 timing LEGACY(SDR12) dt B [ 134.781983] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 134.794233] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 400000Hz bm PP pm ON vdd 23 width 1 timing LEGACY(SDR12) dt B [ 134.808682] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 134.875697] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 0Hz bm PP pm ON vdd 23 width 1 timing LEGACY(SDR12) dt B [ 134.888733] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: no vqmmc,Check if there is regulator [ 134.910676] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 400000Hz bm PP pm ON vdd 23 width 1 timing LEGACY(SDR12) dt B [ 134.924324] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 134.942299] mmc0: host does not support reading read-only switch, assuming write-enable [ 134.951919] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 400000Hz bm PP pm ON vdd 23 width 4 timing LEGACY(SDR12) dt B [ 134.965331] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 134.975741] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 400000Hz bm PP pm ON vdd 23 width 4 timing UHS-SDR104 dt B [ 134.988840] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 134.997620] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: sdc set ios:clk 150000000Hz bm PP pm ON vdd 23 width 4 timing UHS-SDR104 dt B [ 135.011088] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: used kernel tuning, delay = 32 [ 135.019846] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: start tuning, tuning clk = 150000000 opcode=19 [ 135.030260] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: ----speed mode = 6 [ 135.077811] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: tuning section: [ 135.077820] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: [0-10|11] [ 135.085230] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: [16-53|38] [ 135.092057] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: [60-63|4] [ 135.098967] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: [ 135.111611] sunxi:sunxi_mmc_host-4020000.sdmmc:[INFO]: tuning result: 16 - 53, best: 35 [ 135.120701] mmc0: new ultra high speed SDR104 SDHC card at address 5048 [ 135.129432] mmcblk0: mmc0:5048 SD32G 29.7 GiB [ 135.137163] mmcblk0: p1 p2

可以看到“mmc0: new ultra high speed SDR104 SDHC card at address 5048”信息,这个信息表示这张卡是一张高速的超高速卡。另外看到的信息是“mmcblk0: mmc0:5048 SD32G 29.7 GiB”,这个信息表示它的容量是29.7GiB,其实它是一张标称32GB的卡(容量少的原因用户可自行baidu)。

2)查看TF卡容量

通过fdisk-l命令可以查询到TF卡分区信息及容量:

root@T536-embfly:~# fdisk -l Disk /dev/mmcblk0: 29.73 GiB, 31927042048 bytes, 62357504 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000 Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 8192 62357503 62349312 29.7G c W95 FAT32 (LBA)

从以上信息可得知该TF卡只有一个分区。如果是两个分区,还应该存在/dev/mmcblk0p2节点,依次类推。

3)可通过df -h命令可以查询到TF卡挂载情况:

root@T536-embfly:/# df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9G 601.9M 1.3G 31% / tmpfs 972.3M 0 972.3M 0% /dev/shm tmpfs 974.7M 268.0K 974.5M 0% /tmp tmpfs 974.7M 352.0K 974.4M 0% /run devtmpfs 972.3M 0 972.3M 0% /dev /dev/mmcblk2p1 127.7M 5.3M 122.4M 4% /media/mmcblk2p1 /dev/mmcblk2p6 5.0G 4.0K 5.0G 0% /media/mmcblk2p6 cgroup 974.7M 0 974.7M 0% /sys/fs/cgroup /dev/root 1.9G 601.9M 1.3G 31% /var/lib/docker /dev/mmcblk0p1 29.7G 2.1G 27.6G 7% /media/mmcblk0p1

从以上信息可以看到TF卡已经自动挂载到/media/mmcblk0p1目录。

4) TF卡的性能测试

性能测试主要测试linux系统下往TF卡中写入文件的速度和从TF卡中读文件的速度,当测试往TF卡写入文件时,要先进入TF卡的挂载目录。

备注:一般是通过dd+time指令来判断TF卡的性能。可先通过dd --help命令查看dd指令支持的相关参数。

Target#time dd if=/dev/zero of=tempfile bs=1M count=100 conv=fsync //写入100M数据

root@T536-embfly:/media/mmcblk0p1$ 0 conv=fsync2x:/media/mmcblk0p1$ time dd if=/dev/zero of=tempfile bs=1M count=100 100+0 records in 100+0 records out real 0m6.369s user 0m0.000s sys 0m1.261s root@T536-embfly:/media/mmcblk0p1$

从信息上可以看到,写入100MB的数据,实际用时为6.369s,通过计算得出写磁盘速度为15.7MB/s(该数据仅供参考)。

Target#echo 3 > /proc/sys/vm/drop_caches //清除缓存

Target#time dd if=tempfile of=/dev/null bs=1M //读100MB数据,tempfile是刚刚写入的

root@T536-embfly:/media/mmcblk0p1$ echo 3 > /proc/sys/vm/drop_caches [ 409.963972] sh (536): drop_caches: 3 root@T536-embfly:/media/mmcblk0p1$ time dd if=tempfile of=/dev/null bs=1M 100+0 records in 100+0 records out real 0m1.538s user 0m0.000s sys 0m0.149s root@T536-embfly:/media/mmcblk0p1$

从以下信息得知,通过“echo 3 > /proc/sys/vm/drop_caches“指令清除缓存后,从SD卡读数据tempfile(这个文件是在测试写文件速度时建立的100M的文件)用时1.538s,经过计算得出来的速度是65MB/s,该数据仅供参考。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 2:31:14

终极指南:如何在Windows上流畅运行Linux图形应用

终极指南:如何在Windows上流畅运行Linux图形应用 【免费下载链接】vcxsrv VcXsrv Windows X Server (X2Go/Arctica Builds) 项目地址: https://gitcode.com/gh_mirrors/vc/vcxsrv 你是否曾经在Windows电脑上需要运行Linux图形界面应用,却被虚拟机…

作者头像 李华
网站建设 2026/4/18 2:31:14

libgdx 3D 网格与相机调试技巧

在开发3D图形应用时,调试是不可避免的一部分,尤其是在使用像libgdx这样的框架时。今天我们将探讨如何在libgdx应用中创建一个3D网格,用于查看和调试3D场景中的元素位置、相机视角等问题。 为什么需要3D网格? 当你创建3D场景时,你可能希望: 查看场景中各个对象的相对位置…

作者头像 李华
网站建设 2026/4/18 2:26:48

从纯软到硬核:一个Android开发者的RK3588+IMX415 ISP调试初体验与避坑实录

从纯软到硬核:一个Android开发者的RK3588IMX415 ISP调试初体验与避坑实录 作为一名长期沉浸在Android应用层的开发者,当我第一次面对RK3588开发板和IMX415传感器的ISP调试任务时,那种从熟悉领域突然跌入陌生深渊的体验至今记忆犹新。从adb命令…

作者头像 李华
网站建设 2026/4/18 2:26:18

T536主板的UART功能(RS232/RS485)的使用-盈鹏飞嵌入式

CoM-T536产品特性:采用Allwinner公司Cortex-A55四核T536处理器,最高速度为1.6GHZ;支持2TOPS NPU,仅特定型号支持;支持4K/25fps H.264视频编码,支持4K/15fps MJPEG编码;支持1-4G Bytes LPDDR4 SDRAM&#xf…

作者头像 李华