本篇將介紹如何在LPC55S69_EVK開發(fā)板上,使用RT-Thread的SDIO驅(qū)動(dòng)和FATFS文件系統(tǒng)組件實(shí)現(xiàn)SD卡上的文件讀寫。
另外舉個(gè)使用小栗子:將SD卡上的視頻文件(特殊制作的,其實(shí)就是一張張位圖而已,不是真正的視頻文件)通過RT-Thread文件系統(tǒng)組件讀出來,并且通過SPI LCD刷頻,實(shí)現(xiàn)類似視頻播放的效果。
在LPC55S69_EVK上使用RT-Thread驅(qū)動(dòng)SD卡實(shí)現(xiàn)文件讀寫只需要以下幾步:
配置FATFS和 SDIO功能
編譯項(xiàng)目代碼
插入SD卡
燒錄二進(jìn)制文件到開發(fā)板
PS:本篇文章特點(diǎn) – 實(shí)操性強(qiáng),異常簡(jiǎn)單,有手就行。
準(zhǔn)備工作
準(zhǔn)備好LPC55S69_EVK開發(fā)板,準(zhǔn)備一張SD卡,我這里準(zhǔn)備的是一張8G的金士頓古董卡,最好在電腦上先把SD卡格式化為FAT32文件系統(tǒng)。
準(zhǔn)備好RT-Thread開發(fā)環(huán)境,確保在閱讀這篇文章之前,已經(jīng)可以成功將RT-Thread跑在LPC55S69_EVK開發(fā)板上。
配置RT-Thread編譯下載工程
進(jìn)入 t-threadbsplpc55sxxlpc55s69_nxp_evk 目錄,打開RT-Thread scons命令行配置工具, 輸入menuconfig 進(jìn)入配置界面:
找到 RT-Thread Components ->device Drivers, 選擇 Using SD/MMC 設(shè)備驅(qū)動(dòng)程序:
切換到 Hardware Drivers Config -> On-chip Peripheral Drivers 選項(xiàng)卡下,選上Enable SDIO SD Card Interface
到此為止RT-Thread的SD/MMC驅(qū)動(dòng)和LPC55S69的SDIO外設(shè)驅(qū)動(dòng)就算配置上了,退回到scons命令行界面,輸入 scons –target=mdk5 生成新的MDK工程
看到Keil-MDK project has generated successfully! 說明 Keil工程生成成功。
雙擊打開Project.uvprojx Keil工程文件(我的Keil版本V5.38),編譯工程,下載到開發(fā)板:
下載后按一下板子上的復(fù)位按鍵,看到LED開始閃爍,串口會(huì)打印如下log:
可以看到,RT-Thread系統(tǒng)已經(jīng)成功識(shí)別了SD卡,并且成功將FAT32系統(tǒng)掛載到了根目錄下。 可以用ls檢查下是否掛載成功:
在msh中操作SD卡
燒錄完成后,我們就可以在RT-Thread的msh環(huán)境中愉快地操作SD卡了。
首先,我們可以通過help命令查看此時(shí)msh中支持哪些命令:
可以看到,這里有很多命令,我們接下將會(huì)使用到的有:
文件操作命令——ls/cp/mv/cat/rm
可以寫文件的命令——echo
目錄操作命令——cd/pwd/mkdir
文件系統(tǒng)操作命名——mkfs/mount/umount/df
使用過Linux的朋友應(yīng)該會(huì)對(duì)上面這些命令感到熟悉。
我將會(huì)在msh中演示——如何通過這些命令對(duì)SD卡進(jìn)行一些操作。
查看設(shè)備: list device
格式化SD卡: 初次使用的SD卡,可能沒有文件系統(tǒng),或者文件系統(tǒng)不是FAT格式的,需要將SD卡格式化為FAT文件系統(tǒng),RT-Thread后續(xù)才能掛載成功。
注意:格式化操作會(huì)導(dǎo)致SD卡上已有數(shù)據(jù)全部丟失; 因此,在執(zhí)行格式化操作前,請(qǐng)確認(rèn)SD卡上沒有重要數(shù)據(jù),或者你已對(duì)SD卡上的重要數(shù)據(jù)進(jìn)行了備份。
接下來,我們可以通過mkfs命令對(duì)SD卡進(jìn)行格式化:輸入 mkfs sd:
mkfs執(zhí)行會(huì)持續(xù)一段時(shí)間,請(qǐng)耐心等待(具體因不同SD卡容量和速度等級(jí)而異,我的8GB卡消耗了2秒鐘)。
掛載文件系統(tǒng): 可先輸入mount -h 來看下mount命令怎么用:
了然,輸入 mount sd / elm, 將SD設(shè)備掛載根目錄下,使用elm(FAT32)文件系統(tǒng)
簡(jiǎn)單的目錄操作測(cè)試: 相信這些Linux常用文件操作命令不需要解釋了。
小結(jié)
可以看到,在基于RT-Thread系統(tǒng)的項(xiàng)目中,我們沒有添加任何代碼,就可以實(shí)現(xiàn)對(duì)LPC55S69_EVK開發(fā)板上的SD卡進(jìn)行文件系統(tǒng)、目錄、文件相關(guān)操作。 這是因?yàn)镽T-Thread系統(tǒng)本身已經(jīng)積累了大量?jī)?yōu)秀開發(fā)者的工作成果,其中包括SDIO驅(qū)動(dòng)框架、FATFS支持、芯片廠的SDIO驅(qū)動(dòng)。
下一篇我們將繼續(xù)基于RT-Thread 操作系統(tǒng)的文件系統(tǒng)支持,驅(qū)動(dòng)SPI LCD來實(shí)現(xiàn)播放視頻的效果。
審核編輯:湯梓紅
-
文件系統(tǒng)
+關(guān)注
關(guān)注
0文章
298瀏覽量
20690 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5990瀏覽量
109922 -
編譯
+關(guān)注
關(guān)注
0文章
682瀏覽量
34763 -
SDIO
+關(guān)注
關(guān)注
2文章
78瀏覽量
20334 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1496瀏覽量
43478
原文標(biāo)題:LPC55S69在RT-Thread上的SDIO驅(qū)動(dòng)和文件系統(tǒng)
文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
RT-Thread文件系統(tǒng)的基本知識(shí)和使用方法

RT-Thread文件系統(tǒng)的資料下載
在HPM6750上使用RT-Thread驅(qū)動(dòng)SD卡實(shí)現(xiàn)文件讀寫
LPC55S69-RT-Thread Micropython移植日志
LPC55S69對(duì)接RTduino的相關(guān)工作
LPC55S69 Flashmagic不編程的原因?
LPC55S69對(duì)接RT-Thread PWM設(shè)備框架介紹
如何實(shí)現(xiàn)LPC55s69的USB固件更新?
LPC55S69中的內(nèi)存如何訪問仲裁?
RT-Thread文件系統(tǒng)組件在STM32H743上的應(yīng)用

RT-Thread Studio驅(qū)動(dòng)SD卡

LPC55S69在RT-Thread上輕松搞定高速上網(wǎng)
RT-Thread框架下的SMP支持

評(píng)論