SD NAND 也稱之為貼片式TF卡,貼片式SD卡,采用標準的SDIO接口,兼容SPI接口。下圖所示為CS 新一代CS SD NAND NP1GCR01-AOW 大小為128M,對比128M的SD卡,可以看到貼片SD卡尺寸更小,不要SD卡座,占用更小的PCB面積;也可以節省PCB板層數,2層板即可使用。而且兼容可替代普通TF卡/SD卡,硬件電路軟件程序通用。本案例基于RT-Thread物聯網操作系統,更是不需要編寫任何復雜的驅動代碼就可以SD NAND讀寫操作。
將SD NAND插入SD卡卡座。首先,新建一個RT-Thread項目工程,這里基于Draco開發板創建。
完整的RT-thread項目默認是開啟虛擬文件系統組件,RT-Thread DFS 組件的主要功能特點有:
- 為應用程序提供統一的 POSIX 文件和目錄操作接口:read、write、poll/select 等。
- 支持多種類型的文件系統,如 FatFS、RomFS、DevFS 等,并提供普通文件、設備文件、網絡文件描述符的管理。這里默認開啟FatFS.
- 支持多種類型的存儲設備,如 SD Card、SPI Flash、Nand Flash 等。
在 RT-Thread 中,我們要訪問存儲設備中的文件,必須將文件所在的分區掛載到一個已存在的路徑上,然后通過這個路徑來訪問存儲設備。在應用程序文件夾下可找到mnt.c源程序。可以看到掛載文件系統的代碼如下所示。
上圖通過自動化初始化代碼實現文件系統掛載。掛載成功dfs_mount函數返回0.通過調試串口可以看到打印信息。Mount "/dev/sd0" on "/":0 done,說明SD NAND掛載成功。
讀寫文件測試:文件系統正常工作后,就可以運行應用示例,在該示例代碼中,首先會使用 open() 函數創建一個文件 text.txt,并使用 write() 函數在文件中寫入字符串 “RT-Thread Programmer!\n”,然后關閉文件。再次使用 open() 函數打開 text.txt 文件,讀出其中的內容并打印出來,最后關閉該文件。
測試結果:在調試中斷輸入msh 命令readwrite_sample,即可運行案例。可以看到成功創建了文本,并寫入了數據。
-
閃存
+關注
關注
16文章
1747瀏覽量
114580 -
存儲
+關注
關注
13文章
4126瀏覽量
85283 -
SD卡
+關注
關注
2文章
553瀏覽量
63520 -
TF卡
+關注
關注
2文章
68瀏覽量
12058
發布評論請先 登錄
相關推薦
評論