FS AT 命令集
AT+FSMOUNT:文件系统挂载与卸载
AT+FS:文件系统操作
AT+FSMOUNT:文件系统挂载与卸载
支持挂载 SDMMC、内部 Flash 和外部 Flash 三种类型的磁盘,可以通过 menuconfig 配置选择挂载的磁盘类型,默认挂载 SDMMC 磁盘。
环境要求:
SDMMC 磁盘 - 需要正确配置 wm_drv_sdh_sdmmc 驱动 - 需要支持 SD 卡的硬件环境,并插上 SD 卡
内部 Flash 磁盘 - 需要正确配置 wm_drv_flash 驱动 - 使用用户自定义分区 partition_table_custom.csv,并添加 CONFIG_FATFS_INTERNAL_FLASH_PARTITION_NAME (默认名称为 fatfs) 分区
外部 Flash 磁盘 - 需要正确配置 wm_drv_flash 驱动 - 需要支持外部 Flash 的硬件环境,并连接上外部 Flash 设备 - 需要正确配置以下参数:
CONFIG_FATFS_EXTERNAL_FLASH_DEVICE_NAME: 外部 Flash Device Name
CONFIG_FATFS_EXTERNAL_FLASH_START_ADDRESS: 外部 Flash 用于 FATFS 起始地址
CONFIG_FATFS_EXTERNAL_FLASH_SIZE: 外部 Flash 用于 FATFS 大小
设置命令
命令:
AT+FSMOUNT=<mount>
响应:
OK
参数
<mount>:
0:卸载 FS 文件系统
1:挂载 FS 文件系统
说明
AT+FS 文件系统操作完成后,建议使用 AT+FSMOUNT=0 命令来卸载文件系统,以释放大量 RAM 空间。
示例
// 手动卸载文件系统
AT+FSMOUNT=0
// 手动挂载文件系统
AT+FSMOUNT=1
AT+FS:文件系统操作
设置命令
命令:
AT+FS=<type>,<operation>,<filename>[,<offset>,<length>]
响应:
OK
参数
<type>:目前仅支持 FATFS
0:FATFS
<operation>:
0:删除文件
1:写文件
2:读文件
3:查询文件大小
4:查询路径下文件,目前仅支持 “/” 根目录
<filename>:文件名(限制为8个字符,可通过 menuconfig 配置
File name length configuratio
以支持长文件名); operation 为 4 时表示目录,目前仅支持 “/” 根目录<offset>:偏移地址,仅针对读写操作设置
<length>:长度,仅针对读写操作设置
说明
本命令会自动挂载文件系统。AT+FS 文件系统操作完成后,建议使用 AT+FSMOUNT=0 命令来卸载文件系统,以释放大量 RAM 空间。
若读取数据的长度大于实际文件大小,仅返回实际长度的数据。
当
<operator>
为write
时,系统收到此命令后先换行返回>
,此时您需要在 6 秒内输入要写的数据,数据长度应与<length>
一致。挂载磁盘时,如果没有格式化,会自动进行格式化,请注意格式化之后的文件类型(FAT12/16/32/EXFAT),会影响到
<offset>
的最大值。
示例
// 删除某个文件
AT+FS=0,0,"filename"
// 在某个文件偏移地址 0 处写入 10 字节
AT+FS=0,1,"filename",0,10
// 从某个文件偏移地址 0 处读取 10 字节
AT+FS=0,2,"filename",0,10
// 查询某个文件大小
AT+FS=0,3,"filename"
// 列出根目录下所有文件
AT+FS=0,4,"."