?同學(xué)們都知道,開(kāi)發(fā)過(guò)程中文件系統(tǒng)的重要性,同樣的,4G-Cat.1模組的文件系統(tǒng)也非常重要,它通常與數(shù)據(jù)傳輸速度、存儲(chǔ)效率,以及數(shù)據(jù)安全性等有非常重要的關(guān)系,在應(yīng)用開(kāi)發(fā)中也非常重要。
今天我們來(lái)嘗試Air201的實(shí)用示例**——文件系統(tǒng)的使用**
** Air201文件系統(tǒng)的使用 **
合宙Air201資產(chǎn)定位模組 ——是一個(gè)集成超低功耗4G通信、語(yǔ)音通話(huà)、超低功耗定位、計(jì)步、震動(dòng)、Type-C、充電、放音、錄音等功能的超小PCBA。
內(nèi)部集成高效、簡(jiǎn)單、可靠的LuatOS語(yǔ)言,旨在幫助客戶(hù)降低開(kāi)發(fā)難度,降低研發(fā)成本,以及打造超小超低功耗的精品產(chǎn)品。
本教程教你使用Air201文件系統(tǒng),可根據(jù)實(shí)際情況靈活運(yùn)用。我們先來(lái)簡(jiǎn)單了解文件系統(tǒng)相關(guān)的基礎(chǔ)知識(shí):
文件系統(tǒng)是為了解決什么問(wèn)題產(chǎn)生的?
4G-Cat.1通信模組的文件系統(tǒng)是為了支持?jǐn)?shù)據(jù)存儲(chǔ)與管理、支持遠(yuǎn)程管理和配置,以及保障數(shù)據(jù)安全性而產(chǎn)生的。
常見(jiàn)的文件系統(tǒng)有哪些?
在嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備中,常見(jiàn)的文件系統(tǒng)類(lèi)型包括FAT、YAFFS、JFFS2,以及專(zhuān)為嵌入式系統(tǒng)設(shè)計(jì)的文件系統(tǒng)如SquashFS和LittleFS等。
文末閱讀原文,了解不同文件系統(tǒng)類(lèi)型在應(yīng)用中的優(yōu)缺點(diǎn)。
合宙Air201選擇的文件系統(tǒng)有何特點(diǎn)?
合宙選擇LittleFS作為主文件系統(tǒng),并通過(guò)VFS擴(kuò)展支持其他文件系統(tǒng)。
LittleFS文件系統(tǒng)是由ARM公司(特別是其mbedOS團(tuán)隊(duì))開(kāi)發(fā)的一款專(zhuān)為微控制器(MCU)和物聯(lián)網(wǎng)(IoT)設(shè)備設(shè)計(jì)的輕量級(jí)、健壯的文件系統(tǒng)。
它針對(duì)資源受限的環(huán)境進(jìn)行了優(yōu)化,具有輕量高效、閃存友好、易用可移植、支持高度定制等特色優(yōu)勢(shì)。
合宙Air201的文件系統(tǒng)分區(qū)存儲(chǔ)方式,使用Block存儲(chǔ)策略:
將文件分割成多個(gè)數(shù)據(jù)塊(Blocks),每個(gè)數(shù)據(jù)塊可以獨(dú)立存儲(chǔ)和處理,這樣允許多個(gè)數(shù)據(jù)塊同時(shí)讀寫(xiě),從而提高數(shù)據(jù)傳輸速度和存儲(chǔ)效率。
默認(rèn)分配的文件系統(tǒng)(lfs)大小為512KB,在代碼中也可通過(guò) fs.fsstat("/") 實(shí)時(shí)獲取文件系統(tǒng)的空間大小。
?
接下來(lái),開(kāi)始講解Air201文件系統(tǒng)的使用示例:
1. 搭建環(huán)境
新同學(xué)建議先看前期的相關(guān)教程,更有助于理解和操作。
此時(shí)可以在LuaTools項(xiàng)目管理中新建一個(gè)項(xiàng)目,重新選擇底層固件和腳本;或者在原有項(xiàng)目的基礎(chǔ)上,不更換固件,將原來(lái)的腳本刪除,添加為demo/fs的腳本。
?
1.1 硬件準(zhǔn)備:
?
![]("點(diǎn)擊并拖拽以移動(dòng)
- 合宙Air201 PCBA
- 帶有數(shù)據(jù)通信功能的數(shù)據(jù)線(xiàn)
- Win10以上PC
1.2 軟件準(zhǔn)備:
- LuaTools調(diào)試工具:
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. 編寫(xiě)代碼
2.1 代碼基本配置
我們?cè)诰帉?xiě)一個(gè)新腳本的時(shí)候,首先應(yīng)該做的操作就是把框架搭好,有一個(gè)合理的框架才能編寫(xiě)出完美的代碼。
以下代碼對(duì)腳本做了命名、添加使用庫(kù)、創(chuàng)建任務(wù)線(xiàn)程等操作:
?
2.2 添加看門(mén)狗
注意:我們?cè)谶M(jìn)行文件系統(tǒng)的操作時(shí),可能會(huì)出現(xiàn)空間不足死機(jī)的情況。
我們可以提前添加看門(mén)狗,來(lái)避免程序卡死:
?
2.3 讀寫(xiě)操作
以下代碼對(duì)文件進(jìn)行了打開(kāi)讀取內(nèi)容和寫(xiě)入內(nèi)容的操作,建議仔細(xì)閱讀,可幫助我們更好地了解和掌握文件系統(tǒng)的讀寫(xiě)操作。
?
運(yùn)行這段代碼,得到的結(jié)果如下圖打?。?/p>
2.4 文件seek操作
下面為大家演示seek的操作:
?
如果沒(méi)有加入seek的操作,這段代碼運(yùn)行結(jié)果應(yīng)該是"ABCDEFG12345hello",但是因?yàn)閟eek將文件指針移動(dòng),導(dǎo)致結(jié)果輸出不同。
?
如何將TCP得到的數(shù)據(jù)存到文件系統(tǒng)呢?
今天的分享就到這里了
更多實(shí)用示例帶你開(kāi)啟應(yīng)用之門(mén)
下一期見(jiàn)~
?
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44557瀏覽量
372754 -
文件系統(tǒng)
+關(guān)注
關(guān)注
0文章
284瀏覽量
19904 -
模組
+關(guān)注
關(guān)注
6文章
1487瀏覽量
30360
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論