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

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

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

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

評論