SPIFFS文件系统

概述

SPIFFS 是一个用于 SPI NOR flash 设备的嵌入式文件系统。 目前,SPIFFS 尚不支持目录,但可以生成扁平结构。如果 SPIFFS 挂载在 /spiffs 下,在 /spiffs/tmp/myfile.txt 路径下创建一个文件则会在 SPIFFS 中生成一个名为 /tmp/myfile.txt 的文件,而不是在 /spiffs/tmp 下生成名为 myfile.txt 的文件。

使用

包含以下头文件:

#include <aos_spiffs.h>

初始化

先调用VFS初始化接口:

vfs_init();

再调用SPIFFS的注册接口:

vfs_spiffs_register("spiffs");

参数"spiffs"为分区的名字,需要在config.yaml做好配置。

删除

调用SPIFFS的删除接口:

vfs_spiffs_unregister();

接口

注册

int vfs_spiffs_register(const char *partition_name);
  • 参数
    • partition_name: 分区名字
  • 返回值
    • 0:成功
    • < 0:失败

删除

int vfs_spiffs_unregister(void);
  • 参数
  • 返回值
    • 0:成功
    • < 0:失败

文件操作接口

具体见 虚拟文件系统

其他

config.yaml 例子

mtb_version: 4
chip: pangu

diff:
  digest_type: SHA1
  signature_type: RSA1024
  fota_version: 0
  ram_buf: 50      #DEC     KB   ( max ram need)
  flash_buf: 16     #DEC     KB   ( buffer size)
  flash_sector: 4096 #DEC     byte ( flash sector)
  diff_mode: 010    #BIN
  double_control: 1
flash:
  base_address: 0x8000000
  run_base_address: 0x18000000 # base address of Storage
  sector: 4096       # Bytes
  size: 8388608      # $(sector count) * sector

partitions:
  - { name: bmtb,   address: 0x8000000, size: 0x001000 }
  - { name: boot,   address: 0x8001000, size: 0x010000 }
  - { name: imtb,   address: 0x8011000, size: 0x002000 }
  - { name: prim,   address: 0x8013000, load_addr: 0x18000000, size: 0x280000, verify: true, update: DIFF}
  - { name: cpu1,   address: 0x8293000, size: 0x080000, update: DIFF }
  - { name: cpu2,   address: 0x8313000, size: 0x300000, update: DIFF }
  - { name: kv,     address: 0x8613000, size: 0x008000 }
  - { name: misc,   address: 0x861B000, size: 0x180000 }
  - { name: spiffs, address: 0x879B000, size: 0x020000 }

results matching ""

    No results matching ""