?同學們都知道,開發過程中文件系統的重要性,同樣的,4G-Cat.1模組的文件系統也非常重要,它通常與數據傳輸速度、存儲效率,以及數據安全性等有非常重要的關系,在應用開發中也非常重要。
今天我們來嘗試Air201的實用示例**——文件系統的使用**
** Air201文件系統的使用 **
合宙Air201資產定位模組 ——是一個集成超低功耗4G通信、語音通話、超低功耗定位、計步、震動、Type-C、充電、放音、錄音等功能的超小PCBA。
內部集成高效、簡單、可靠的LuatOS語言,旨在幫助客戶降低開發難度,降低研發成本,以及打造超小超低功耗的精品產品。
本教程教你使用Air201文件系統,可根據實際情況靈活運用。我們先來簡單了解文件系統相關的基礎知識:
文件系統是為了解決什么問題產生的?
4G-Cat.1通信模組的文件系統是為了支持數據存儲與管理、支持遠程管理和配置,以及保障數據安全性而產生的。
常見的文件系統有哪些?
在嵌入式系統和物聯網設備中,常見的文件系統類型包括FAT、YAFFS、JFFS2,以及專為嵌入式系統設計的文件系統如SquashFS和LittleFS等。
文末閱讀原文,了解不同文件系統類型在應用中的優缺點。
合宙Air201選擇的文件系統有何特點?
合宙選擇LittleFS作為主文件系統,并通過VFS擴展支持其他文件系統。
LittleFS文件系統是由ARM公司(特別是其mbedOS團隊)開發的一款專為微控制器(MCU)和物聯網(IoT)設備設計的輕量級、健壯的文件系統。
它針對資源受限的環境進行了優化,具有輕量高效、閃存友好、易用可移植、支持高度定制等特色優勢。
合宙Air201的文件系統分區存儲方式,使用Block存儲策略:
將文件分割成多個數據塊(Blocks),每個數據塊可以獨立存儲和處理,這樣允許多個數據塊同時讀寫,從而提高數據傳輸速度和存儲效率。
默認分配的文件系統(lfs)大小為512KB,在代碼中也可通過 fs.fsstat("/") 實時獲取文件系統的空間大小。
?
接下來,開始講解Air201文件系統的使用示例:
1. 搭建環境
新同學建議先看前期的相關教程,更有助于理解和操作。
此時可以在LuaTools項目管理中新建一個項目,重新選擇底層固件和腳本;或者在原有項目的基礎上,不更換固件,將原來的腳本刪除,添加為demo/fs的腳本。
?
1.1 硬件準備:
?
![]("點擊并拖拽以移動
- 合宙Air201 PCBA
- 帶有數據通信功能的數據線
- Win10以上PC
1.2 軟件準備:
- LuaTools調試工具:
doc.openluat.com/wiki/52?wiki_page_id=5071 - 最新固件:
gitee.com/openLuat/LuatOS-Air201/tree/master/core - 最新腳本:
gitee.com/openLuat/LuatOS-Air201/tree/master/demo/fs
2. 編寫代碼
2.1 代碼基本配置
我們在編寫一個新腳本的時候,首先應該做的操作就是把框架搭好,有一個合理的框架才能編寫出完美的代碼。
以下代碼對腳本做了命名、添加使用庫、創建任務線程等操作:
?
2.2 添加看門狗
注意:我們在進行文件系統的操作時,可能會出現空間不足死機的情況。
我們可以提前添加看門狗,來避免程序卡死:
?
2.3 讀寫操作
以下代碼對文件進行了打開讀取內容和寫入內容的操作,建議仔細閱讀,可幫助我們更好地了解和掌握文件系統的讀寫操作。
?
運行這段代碼,得到的結果如下圖打印:
2.4 文件seek操作
下面為大家演示seek的操作:
?
如果沒有加入seek的操作,這段代碼運行結果應該是"ABCDEFG12345hello",但是因為seek將文件指針移動,導致結果輸出不同。
?
如何將TCP得到的數據存到文件系統呢?
今天的分享就到這里了
更多實用示例帶你開啟應用之門
下一期見~
?
-
物聯網
+關注
關注
2914文章
44938瀏覽量
377072 -
文件系統
+關注
關注
0文章
287瀏覽量
19981 -
模組
+關注
關注
6文章
1515瀏覽量
30611
發布評論請先 登錄
相關推薦
防止根文件系統破壞,OverlayRootfs 讓你的設備更安全
![防止根<b class='flag-5'>文件系統</b>破壞,OverlayRootfs 讓你的設備更安全](https://file.elecfans.com/web2/M00/10/E9/pYYBAGEfInyAb9dQAABH4pzjonI981.jpg)
華納云:VFS在提升文件系統性能方面的具體實踐
stm32單片機基于rt-thread 的 littlefs 文件系統 的使用
![stm32單片機基于rt-thread 的 littlefs <b class='flag-5'>文件系統</b> 的使用](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
Linux根文件系統的掛載過程
小型文件系統如何選擇?FatFs和LittleFs優缺點比較
![小型<b class='flag-5'>文件系統</b>如何選擇?FatFs和LittleFs優缺點比較](https://file1.elecfans.com//web2/M00/09/86/wKgaomb5DGSAF-VfAAC7k0BnFXQ574.jpg)
如何修改buildroot和debian文件系統
![如何修改buildroot和debian<b class='flag-5'>文件系統</b>](https://file1.elecfans.com/web2/M00/FD/B9/wKgZomaeKpCAeS1mAAJr5bnMFl8719.png)
Linux高級文件系統管理詳解
linux--sysfs文件系統
![linux--sysfs<b class='flag-5'>文件系統</b>](https://file1.elecfans.com/web2/M00/F9/A4/wKgZomaLXwqAbGxzAAAQ6QVA7SI028.png)
使用wear_level api來安裝fat文件系統,如何格式化FAT文件系統?
【嵌入式SD NAND】基于FATFS/Littlefs文件系統的日志框架實現
![【嵌入式SD NAND】基于FATFS/Littlefs<b class='flag-5'>文件系統</b>的日志框架實現](https://file1.elecfans.com/web2/M00/C5/4F/wKgaomXyzQWAOuZPAADeOXPjtqE725.png)
評論