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