1.引言
在嵌入式系統(tǒng)應(yīng)用中,大容量的數(shù)據(jù)存儲是經(jīng)常遇到的一個(gè)問題。常見的解決方案包括Flash存儲芯片、SD卡和U盤。SD卡具有存儲容量大、攜帶方便、插拔便捷的特點(diǎn),所以經(jīng)常出現(xiàn)在嵌入式設(shè)備中。比如下面這個(gè)小投影儀,側(cè)面就有1個(gè)SD卡接口,可以用來播放SD卡里的電影、歌曲等。
本篇介紹Linux下SD卡的使用,包括相關(guān)配置、SD卡的掛載等。
2.環(huán)境介紹
2.1.硬件
1) 網(wǎng)上的一個(gè)第三方做的NUC972開發(fā)板:
2.2.軟件
1) Uboot繼續(xù)使用之前文章用的,需要做改動(dòng)。
2) Kernel在上一篇基礎(chǔ)上,需要改動(dòng)。
3) Rootfs使用上一篇的,不需要改動(dòng)。
3.Uboot配置
Uboot的配置如下:
第一處是這里:
第二處是這里:
還有一處:
/board/nuvoton/nuc970/nuc970.c
把一句話注釋掉,初始化完了之前,它把管腳都reset到gpio功能了。
4.內(nèi)核配置
內(nèi)核配置
這樣改完燒進(jìn)去,啟動(dòng)就有了:
5.SD卡掛載
1) 首先通過#fdisk -l命令確認(rèn)板子上的linux系統(tǒng)是否識別SD卡
下圖中顯示的15.6GB的設(shè)備對應(yīng)的就是板子上插入的SD卡。
2)然后cat /proc/partitions
看看有沒有這兩個(gè)分區(qū),如果沒有,就說明SD卡驅(qū)動(dòng)沒有移植成功
3) 之后就可以掛載SD卡
mount /dev/mmcblk0p1 /mnt/
或者
mount -t vfat /dev/mmcblk0p1 /mnt/
掛載完就可以在/mnt目錄中對文件進(jìn)行各種操作了。
4) 卸載SD卡
umount /mnt
注意,卸載時(shí)當(dāng)前目錄不能是/mnt,否則會(huì)出現(xiàn)“umount can't umount /mnt device or resource busy”的錯(cuò)誤提示信息。
6.結(jié)束語
本期相關(guān)的資料在https://github.com/TopSemic/NUC972_Linux Lesson16 SD卡使用中
聯(lián)系客服