嵌入式Linux平台下SD卡使用

说明

  • 在嵌入式开发中,SD卡是比较常用的器件,记录下其使用方法。

底层配置

  1. 驱动调试。
  2. 内核配置。
device deivers
    -> mmc/sd card support
    -> Samsung s3c sd/mmc card interface support //不同平台不同

应用层使用

硬件识别和显示

  • 如果SD卡驱动和内核配置ok,插入SD卡后,内存文件系统目录/sys/bus/mmc/devices/下会自动生成文件节点来表示SD卡,例如:mmc0:5048;拔出SD卡则消失。
  • 正常情况下,根文件系统/dev目录下会自动生成设备节点,如果SD卡已分区还会生成分区的设备节点;/dev/mmcblk0表示第一个SD卡设备节点,mmcblk0p1代表第一个SD卡设备的第一个分区,mmcblk0p2代表第二个分区,名字中的p是partition的意思。
  • 未生成相应的设备节点,如果识别正常,理论上可以使用mdev自动创建。

分区

  • 如果SD卡未分区,则不存在分区节点,需要分区后才能使用,如已分区也可重新分区。
  • Linux下使用fdisk对sd卡进行分区
fdisk -l //显示所有磁盘(有些嵌入式版本不支持)
fdisk /dev/mmcblk0
    n  //新增分区
    w  //写入磁盘

格式化&创建文件系统

  • 首次使用需要对分区进行格式化,并且创建Linux可识别的文件系统,已存在文件系统则不需要。
  • Linux支持很多文件系统,只在Linux上使用可使用多种文件系统,但是平时使用中时常需要兼容window,因此只能选择部分文件系统。
  • 使用mkdosfs命令建立DOS文件系统。
$bindir/mkdosfs -s 128 -F 32 /dev/mmcblk0p1

挂载与卸载

  • 分区节点(/dev/mmcblk0p1等)需要使用mount 命令挂载到根文件系统后才能进行查看和编辑。
  • 挂载到系统并且能进行文件操作的是mmcblk0p1和mmcblk0p2分区节点而不是mmcblk0设备节点,是把sd卡的分区挂载到系统而不是sd卡。
  • 使用mount/unmount 命令可以实现sd卡的挂载和卸载。
  1. 挂载到系统目录
mount -t vfat /dev/mmcblk0p1 /mnt/sd
* -t vfat: 表示指定文件系统为vfat
  1. 卸载分区
umount /mnt/sd
  • 判断sd卡是否挂载成功方法如下:
  1. 判断挂载命令(mount -t vfat …)的返回
  2. 查看 /proc/mounts, 通过cat /proc/mounts,查找 sd 卡 mount 的目录 /mnt/sd是否存在
  3. 查看mount命令打印所有已mount分区的显示。
基于嵌入式SD卡的读取和存储。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值