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得到的数据存到文件系统呢?

今天的分享就到这里了

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

下一期见~

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

    关注

    2903

    文章

    44240

    浏览量

    371018
  • 文件系统
    +关注

    关注

    0

    文章

    284

    浏览量

    19882
  • 模组
    +关注

    关注

    6

    文章

    1432

    浏览量

    30279
收藏 人收藏

    评论

    相关推荐

    stm32单片机基于rt-thread 的 littlefs 文件系统 的使用

    简介littlefs是ARM官方推出的,专为嵌入式系统设计的文件系统,相比传统的文件系统,littlefs具有以下优点:1、自带擦写均衡2、支持掉电保护3、占用的
    的头像 发表于 11-06 08:04 289次阅读
    stm32单片机基于rt-thread 的 littlefs <b class='flag-5'>文件系统</b> 的使用

    Linux根文件系统的挂载过程

    Linux根文件系统(rootfs)是Linux系统中所有其他文件系统和目录的起点,它是内核启动时挂载的第一个文件系统
    的头像 发表于 10-05 16:50 262次阅读

    如何构建Linux根文件系统

    构建Linux根文件系统是一个涉及多个步骤和概念的过程,它对于Linux系统的启动和运行至关重要。
    的头像 发表于 10-05 16:47 227次阅读

    小型文件系统如何选择?FatFs和LittleFs优缺点比较

    01  概述 文件系统在嵌入式系统中的作用不可或缺,它提供了对非易失性存储设备(如闪存、SD卡等)上的数据进行有效组织和管理的能力。通过文件系统,嵌入式系统可以像在传统计算机上一样创建
    的头像 发表于 09-29 16:14 924次阅读
    小型<b class='flag-5'>文件系统</b>如何选择?FatFs和LittleFs优缺点比较

    如何更改Linux文件系统终端显示颜色

    自己制作的简单 Linux 文件系统,你会发现终端显示为黑白色,很不好看
    的头像 发表于 08-12 17:29 436次阅读
    如何更改Linux<b class='flag-5'>文件系统</b>终端显示颜色

    合宙Air201定位模组,千万不要忘记设置这个......

    合宙Air201定位模组,千万不要忘记设置这个:AT+WIFILOC设置wifi定位优先
    的头像 发表于 08-09 18:01 1353次阅读
    合宙Air201定位模组,千万<b class='flag-5'>不要</b><b class='flag-5'>忘记</b>设置这个......

    如何修改buildroot和debian文件系统

    本文档主要介绍在没有编译环境的情况下,如何修改buildroot和debian文件系统方法,如在buildroot文件系统中添加文件、修改目录等文件操作,在debian
    的头像 发表于 07-22 17:46 412次阅读
    如何修改buildroot和debian<b class='flag-5'>文件系统</b>

    Linux高级文件系统管理详解

    阶的文件系统就得要学习,本章我们会介绍磁盘阵列 (RAID),及逻辑卷轴文件系统 (LVM),这些工具都可以帮助你管理与维护使用者可用的磁盘容量.
    的头像 发表于 07-16 16:31 314次阅读

    linux--sysfs文件系统

    sysfs文件系统 sysfs,全称为System Filesystem,是一个由Linux内核实现的虚拟文件系统。它扮演着一个桥梁的角色,将内核中的设备和驱动程序信息以文件的形式呈现给用户空间
    的头像 发表于 07-08 11:37 711次阅读
    linux--sysfs<b class='flag-5'>文件系统</b>

    使用wear_level api来安装fat文件系统,如何格式化FAT文件系统

    后,将导致无法再向该文件地址中写新的文件,也就是无法操作该文件系统。所以我格式化这个文件系统,可是找不到接口去做这个操作,请各位指教!
    发表于 06-26 06:51

    Linux系统如何扩展文件系统

    当数据盘没有创建分区,只在设备上创建了文件系统。或者格式化了硬盘,就直接mount上系统使用。
    的头像 发表于 02-21 09:53 798次阅读

    鸿蒙轻内核源码分析:虚拟文件系统 VFS

    接口不统一,若系统中有多个文件系统类型,访问不同的文件系统就需要使用不同的非标准接口。而通过在系统中添加 VFS 层,提供统一的抽象接口,屏蔽了底层异构类型的
    的头像 发表于 02-18 14:50 753次阅读

    教你在Ubuntu系统上定制文件系统

    开发板都需要去apt-get安装,这样会大幅增加工作量,很不便于批量化生产。 能不能把软件一起打包到镜像呢?这样每次烧写完就不用再去apt-get在线安装了。答案当然是肯定的,这就涉及到文件系统的定制了
    发表于 12-26 16:33

    如何配置只读属性的文件系统(Colibri iMX7为例)

    由于存储介质不同,Nand Flash 上通常采用如 jffs2、UBI 等格式文件系统。Toradex 的 Linux 系统使用 UBI 文件系统
    的头像 发表于 12-07 09:31 1000次阅读
    如何配置只读属性的<b class='flag-5'>文件系统</b>(Colibri iMX7为例)

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

    由于工作人员的误操作,将Ext4文件系统误装入到存储中Ocfs2文件系统数据卷上,导致原Ocfs2文件系统被格式化为Ext4文件系统。 由于Ext4
    的头像 发表于 12-04 10:49 417次阅读
    服务器数据恢复—ocfs2<b class='flag-5'>文件系统</b>被误格式化为Ext4<b class='flag-5'>文件系统</b>的数据恢复案例