TF卡挂载操作

开发板的TF卡接口位于J3,最大容量支持64GByte的FAT32系统格式。

将TF卡插入卡槽中,系统会提示以下信息。

从打印信息中可以分析此TF卡识别的节点为mmcblk0,有两个分区分别为mmcblkp1和mmcblkp2。查看/dev/目录的设备节点如下

开发板提供的文件系统支持TF卡的自动挂载,默认挂载路径为/sdcard。

TF卡自动挂载/卸载的实现原理

  开发板文件系统默认开启mdev服务,mdev服务在后台运行并检测TF卡的插入和移除状态,当检测到拔插事件时执行预定的命令实现TF卡的热拔插自动挂载功能。

相关的文件介绍:
  文件系统在开机时会自动运行/etc/init.d/目录下的S10mdev开启mdev服务,服务脚本如下:

#!/bin/sh
#
# Start mdev....
#

case "$1" in
  start)
        echo "Starting mdev..."
        echo /sbin/mdev >/proc/sys/kernel/hotplug
        /sbin/mdev -s
        # coldplug modules
        find /sys/ -name modalias -print0 | xargs -0 sort -u -z | xargs -0 modprobe -abq
        ;;
  stop)
        ;;
  restart|reload)
        ;;
  *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit $?

在mdev的配置文件/etc/mdev.conf中添加TF卡相关的插入和移除执行命令如下:

mmcblk[0-9]p[0-9]  0:0  660  @/etc/hotplug/sdcard_insert
mmcblk[0-9]        0:0  660   $/etc/hotplug/sdcard_remove

当检测到TF卡插入时执行/etc/hotplug/sdcard_insert
当检测到TF卡移除时执行/etc/hotplug/sdcard_remove

文档更新时间: 2020-11-24 15:57   作者:admin