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.结束语
本篇为大家介绍了Linux下SD卡的使用,欢迎大家多交流