0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

想提高开发效率,不要忘记文件系统

青山老竹农 来源:jf_82863998 2024-09-21 08:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

​同学们都知道,开发过程中文件系统的重要性,同样的,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得到的数据存到文件系统呢?

今天的分享就到这里了

更多实用示例带你开启应用之门

下一期见~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2950

    文章

    48127

    浏览量

    418494
  • 文件系统
    +关注

    关注

    0

    文章

    305

    浏览量

    21043
  • 模组
    +关注

    关注

    6

    文章

    1797

    浏览量

    32360
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞萨RA系列FSP库开发实战指南之FatFs文件系统介绍

    即使读者可能不了解文件系统,读者也一定对“文件”这个概念十分熟悉。数据在PC上是以文件的形式储存在磁盘中的,这些数据的形式一般为ASCII 码或二进制形式。
    的头像 发表于 03-18 13:47 4597次阅读
    瑞萨RA系列FSP库<b class='flag-5'>开发</b>实战指南之FatFs<b class='flag-5'>文件系统</b>介绍

    提高系统效率几个误解解析

    才会提高系统效率。所以在通信系统中一般只打开指令CACHE,数据CACHE即使打开也只局限在部分存储空间,如堆栈部分。同时也要求程序设计 要兼顾CACHE的容量及块大小,这涉及到关键代
    发表于 12-15 06:09

    明晚8点|睿擎文件系统实战:从开发到发布全流程解析

    文件操作到镜像发布,一次直播掌握完整开发流程!在嵌入式系统开发中,文件系统是数据存储、配置管理和资源访问的核心基础。然而在实际开发中,
    的头像 发表于 11-11 11:53 788次阅读
    明晚8点|睿擎<b class='flag-5'>文件系统</b>实战:从<b class='flag-5'>开发</b>到发布全流程解析

    【直播预告】下周三晚8点|睿擎文件系统实战:从开发到发布全流程解析

    文件操作到镜像发布,一次直播掌握完整开发流程!在嵌入式系统开发中,文件系统是数据存储、配置管理和资源访问的核心基础。然而在实际开发中,
    的头像 发表于 11-06 18:05 2047次阅读
    【直播预告】下周三晚8点|睿擎<b class='flag-5'>文件系统</b>实战:从<b class='flag-5'>开发</b>到发布全流程解析

    睿擎派文件系统指南:从开发到发布全流程实践 | 技术解析

    在嵌入式系统开发中,文件系统扮演着至关重要的角色,它负责数据的持久化存储、配置文件管理和资源访问等核心功能。睿擎平台提供了一套完整的文件系统解决方案,从
    的头像 发表于 11-05 18:13 8301次阅读
    睿擎派<b class='flag-5'>文件系统</b>指南:从<b class='flag-5'>开发</b>到发布全流程实践 | 技术解析

    文件系统,使用iar编译报错,gcc可以正常编译,为什么?

    文件系统,使用iar编译报错,gcc可以正常编译,为什么?
    发表于 09-23 06:54

    文件系统文件怎么循环覆盖的写入数据?

    请教一个文件系统数据写入的问题。 比如我新建一个文件,test.txt,写入数据超过512KB后,就从头开始写,后面的数据不删除,从头开始覆盖。 比如原来写了1000条数据,然后从头开始循环覆盖
    发表于 09-22 08:20

    挂载elm文件系统到sd卡上时灵时不灵如何解决?

    使用野火开发板的gd32h759,将elm文件系统挂载到sd卡上,使用的是sdio接口,发现时灵时不灵,sd卡格式化几次还是不行,请教一下各位大神,如何解决?
    发表于 09-12 06:18

    如何在 nuc980 上切换到持久文件系统

    我遵循了“NUC980 Linux 4.4 BSP 用户手册EN.pdf”文档,但当我尝试取消选择“初始 RAM 文件系统和 RAM 磁盘 (initramfs/initrd) 支持
    发表于 08-29 07:58

    技术贴|【RK3588】ELF 2开发板如何添加exFAT和NTFS文件系统格式

    基于RK3588设计的ELF2开发板在搭载Desktop22.04系统时,对TF卡的文件系统支持存在以下限制:不支持exFAT格式;支持NTFS格式,但需手动挂载;针对上述兼容性问题,本文将介绍
    的头像 发表于 08-27 17:21 3821次阅读
    技术贴|【RK3588】ELF 2<b class='flag-5'>开发</b>板如何添加exFAT和NTFS<b class='flag-5'>文件系统</b>格式

    Linux三大主流文件系统解析

    还在为选择哪个文件系统而纠结?作为一名摸爬滚打多年的运维老鸟,我将用最接地气的方式,带你彻底搞懂 Linux 三大主流文件系统的奥秘。
    的头像 发表于 08-05 17:37 1739次阅读

    飞凌嵌入式ElfBoard ELF 1板卡-busybox构建根文件系统文件系统验证

    至此,我们已经完成了一个最小文件系统的构建,现在我们使用nfs将其挂载为网络文件系统,进行测试。开发板启动之后,在uboot阶段,修改bootargs环境变量。在mmcargs中进行修改:=&
    发表于 06-23 16:10

    飞凌嵌入式ElfBoard ELF 1板卡-文件系统简介

    System UBIFS文件系统构建于MTD设备之上,支持write-back,其写入的数据会被cache,直到有必要写入时才写到NAND Flash,这样大大地降低分散小区块数量并提高I/O效率
    发表于 06-19 17:22

    服务器数据恢复—ocfs2文件系统被格式化为Ext4文件系统的数据恢复案例

    服务器存储数据恢复环境&故障: 人为误操作将Ext4文件系统误装入一台服务器存储上的Ocfs2文件系统数据卷上,导致原Ocfs2文件系统被格式化为Ext4文件系统
    的头像 发表于 06-10 12:03 890次阅读
    服务器数据恢复—ocfs2<b class='flag-5'>文件系统</b>被格式化为Ext4<b class='flag-5'>文件系统</b>的数据恢复案例

    Linux文件系统打包及镜像制作,触觉智能RK3562开发板演示

    本文介绍Linux开发文件系统打包及镜像制作的方法,演示Linux文件系统打包及镜像制作,适用于想将配置好的系统环境打包成镜像批量烧录。触觉智能RK3562
    的头像 发表于 04-28 16:45 1163次阅读
    Linux<b class='flag-5'>文件系统</b>打包及镜像制作,触觉智能RK3562<b class='flag-5'>开发</b>板演示