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卡使用中 |
|
来自: TopSemic嵌入式 > 《待分类》