嵌入式Linux系列第16篇:使用SD卡

简介: 嵌入式Linux系列第16篇:使用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.结束语

本篇为大家介绍了Linux下SD卡的使用,欢迎大家多交流

相关文章
|
5月前
|
消息中间件 存储 缓存
【嵌入式软件工程师面经】Linux系统编程(线程进程)
【嵌入式软件工程师面经】Linux系统编程(线程进程)
122 1
|
5月前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
149 1
|
2月前
|
存储 Linux Windows
制作Linux系统SD启动卡
【9月更文挑战第2天】这段内容介绍了一种制作 Linux 系统 SD 启动卡的方法,包括准备工作、安装写入软件、插入与识别 SD 卡、使用写入软件、写入后检查及设置启动设备等步骤。需选择高质量 SD 卡和可靠来源的镜像文件,避免误操作导致数据丢失。
|
3月前
|
NoSQL Linux C语言
嵌入式GDB调试Linux C程序或交叉编译(开发板)
【8月更文挑战第24天】本文档介绍了如何在嵌入式环境下使用GDB调试Linux C程序及进行交叉编译。调试步骤包括:编译程序时加入`-g`选项以生成调试信息;启动GDB并加载程序;设置断点;运行程序至断点;单步执行代码;查看变量值;继续执行或退出GDB。对于交叉编译,需安装对应架构的交叉编译工具链,配置编译环境,使用工具链编译程序,并将程序传输到开发板进行调试。过程中可能遇到工具链不匹配等问题,需针对性解决。
|
2月前
|
Linux
用QEMU模拟运行uboot从SD卡启动Linux
用QEMU模拟运行uboot从SD卡启动Linux
|
3月前
|
传感器 人工智能 网络协议
:嵌入式 Linux 及其用途
【8月更文挑战第24天】
153 0
|
4月前
|
Ubuntu 算法 Linux
嵌入式Linux的学习误区
**嵌入式Linux学习误区摘要** 1. **过度聚焦桌面Linux** - 许多学习者误将大量时间用于精通桌面Linux系统(如RedHat、Fedora、Ubuntu),认为这是嵌入式Linux开发的基石。 - 实际上,桌面Linux仅作为开发工具和环境,目标不应是成为Linux服务器专家,而应专注于嵌入式开发工具和流程。 2. **盲目阅读Linux内核源码** - 初学者在不了解Linux基本知识时试图直接研读内核源码,这往往导致困惑和挫败感。 - 在具备一定嵌入式Linux开发经验后再有针对性地阅读源码,才能有效提升技能。
41 4
|
5月前
|
物联网 Linux 芯片
学习嵌入式是选择单片机还是Linux?
单片机通常指的是一种集成了处理器、存储器和各种外设接口的微控制器芯片,常见的有STC、51系列、AVR、ARM Cortex-M等。单片机具有低成本、低功耗、实时性强等特点,适用于对资源要求较低、功耗要求较低、实时性要求较高的嵌入式系统。学习单片机开发可以让您深入了解嵌入式系统的底层原理和硬件编程,对于对嵌入式系统底层开发感兴趣的人来说,是一个很好的选择。
127 4
|
5月前
|
消息中间件 安全 Java
【嵌入式软件工程师面经】Linux多进程与多线程
【嵌入式软件工程师面经】Linux多进程与多线程
62 1
|
5月前
|
存储 缓存 Unix
【嵌入式软件工程师面经】Linux文件IO
【嵌入式软件工程师面经】Linux文件IO
45 1