Linux学习系列十六:使用SD卡

1.引言

在嵌入式系统应用中,大容量的数据存储是经常遇到的一个问题。常见的解决方案包括Flash存储芯片、SD卡和U盘。SD卡具有存储容量大、携带方便、插拔便捷的特点,所以经常出现在嵌入式设备中。比如下面这个小投影仪,侧面就有1个SD卡接口,可以用来播放SD卡里的电影、歌曲等。

本篇介绍Linux下SD卡的使用,包括相关配置、SD卡的挂载等。

2.环境介绍

2.1.硬件

1) 网上的一个第三方做的NUC972开发板:

2.2.软件

1) Uboot继续使用之前文章用的,需要做改动。

2) Kernel在上一篇基础上,需要改动。

3) Rootfs使用上一篇的,不需要改动。

3.Uboot配置

Uboot的配置如下:

第一处是这里:

第二处是这里:

还有一处:

/board/nuvoton/nuc970/nuc970.c

把一句话注释掉,初始化完了之前,它把管脚都reset到gpio功能了。

4.内核配置

内核配置

这样改完烧进去,启动就有了:

5.SD卡挂载

1) 首先通过#fdisk -l命令确认板子上的linux系统是否识别SD卡

下图中显示的15.6GB的设备对应的就是板子上插入的SD卡。

2)然后cat /proc/partitions

看看有没有这两个分区,如果没有,就说明SD卡驱动没有移植成功

3) 之后就可以挂载SD卡

mount /dev/mmcblk0p1 /mnt/

或者

mount -t vfat /dev/mmcblk0p1 /mnt/

挂载完就可以在/mnt目录中对文件进行各种操作了。

4) 卸载SD卡

umount /mnt

注意,卸载时当前目录不能是/mnt,否则会出现“umount can’t umount /mnt device or resource busy”的错误提示信息。

6.结束语

本期相关的资料在https://github.com/TopSemic/NUC972_Linux  Lesson16 SD卡使用中

本篇为大家介绍了Linux下SD卡的使用,欢迎大家多交流,可以在网页下方留言讨论,或者发邮件:Topsemic@sina.com ,微信公众号如下,欢迎关注:

0

发表评论