KDocs 研发资料库
  • 手表穿戴技术应用文档入口汇总
  • JL707N穿戴客述问题FAQ
  • 彩屏仓 硬件开发指南 与 量产作业流程规范
  • 彩屏仓 AC98N和JL701烧录升级注意事项
  • JL707 硬件开发资料
  • JL707 手表硬件设计注意事项 总结
  • 穿戴生产烧录OTA和key文件添加使用说明
  • JL707N-入门到进阶开发指导文档
  • 彩屏仓982相关
  • 彩屏仓耳机介绍
  • 杰理701_707双屏demo介绍
  • 707电子吧唧开发资料
  • GPIO相关
  • UART串口相关
  • SPI相关
  • nandflash相关
  • norflash相关
  • IIC相关
  • PWM相关
  • SD卡相关
  • 定时器TIMER
  • 文件系统接口设计说明文档
  • 音视频录像开发流程
  • rdec编码器
  • 穿戴功耗数据标准
  • 手表蓝牙开发文档
  • 701蓝牙PAN联网demo
  • BLE开发使用说明
  • 701手表2.0.0版本SDK EQ在线调试和离线调试方法 V1.1
  • JL707 手表喇叭输出声音大小评估方法 V1.0
  • JL707 手表音频EQ调试方法 V1.0
  • AC707N 手表通话写卡 软件配置方法
  • 录音功能
  • 701手表2.X.X系列SDK调试EQ配置方法及音频调试技巧V1.1
  • 701手表104版本SDK EQ在线调试和离线调试方法 V1.1
  • mic2dac示例
  • P11 SensorHub相关
  • 手表升级操作文档
  • AC707NGPU
  • DBI模块介绍
  • GPU模块介绍
  • 701N屏幕驱动配置说明
  • 701N_UI编辑工具用户手册
  • 支付宝资料
  • 支付宝硬件接入资料
  • 支付宝乘车码接入资料
  • CAT1 接入文档
  • 701N_WATCH_CAT1开发说明
  • Findmy功能
  • music模式相关
  • 707电池曲线
  • 707N内置FLASH挂载FAT文件系统251112_v1.2
  • AC707N_本地视频播放demo(AVI-MJPEG-PCM)
  • 光波导屏幕调试
  • 耳机研发和生产流程 指南
  • 707-NandFlash 代码和UI资源独立烧录方案
  • 彩屏仓时间同步补丁
  • 彩屏仓抖音点赞移植
  • 707LVGLv8双屏开发
  • 707N蓝牙互传图传demo
  • AVIPCM数据流接入AIVOICE
  • Flash分区操作demo
  • 手表发射问题
  • 701_707 双备份升级DEMO
  • 707_乘车码刷码失败问题_共性

文件系统接口设计说明文档

📎 原始文档:https://www.kdocs.cn/l/clKBOjWFPMAr

文件系统接口设计说明书

珠海市杰理科技股份有限公司

Zhuhai Jieli Technologyco.,LTD

版权所有,未经许可,禁止外传

版权所有,侵权必究 1
地址:珠海市吉大石花西路 107号9栋综合楼 邮编:519015
电话:0756-6313088 传真:0756-6313081
网站:www.zh-jieli.com

修改记录

版本更新日期描述
V1.0
V1.1

image 版权所有,侵权必究 2
目录
1.文档介绍........................................................................................................................................................................4
1.1.文档目的............................................................................................................................................................ 4
1.2.参考文献............................................................................................................................................................ 4
1.3.术语与缩写词.....................................................................................................................................................4
2.功能概述........................................................................................................................................................................4
3.其他系统/模块的调用关系............................................................................................................................................4
4.性能要求........................................................................................................................................................................4
5.接口模块功能介绍........................................................................................................................................................ 5
5. 1.文件浏览............................................................................................................................错误!未定义书签。
5.1.1.功能介绍................................................................................................................................................5
5.1.2.接口介绍................................................................................................................................................5
5.2.文件删除............................................................................................................................错误!未定义书签。
5.2. 1.实现介绍.............................................................................................................错误!未定义书签。
5.2.2.接口介绍................................................................................................................................................5
5.3.滑动杆...............................................................................................................................错误!未定义书签。
5.3.1.功能介绍................................................................................................................................................6
5.3.2.接口........................................................................................................................................................6
5.4.消息处理............................................................................................................................错误!未定义书签。
5.4.1.功能介绍................................................................................................................................................6
5.4.2.接口........................................................................................................................................................7
5.5.资源文件处理....................................................................................................................错误!未定义书签。
5.5.1.功能介绍................................................................................................................................................7
5.5.2.接口介绍................................................................................................................................................7
5.6.菜单列表............................................................................................................................错误!未定义书签。
5.6.1.功能介绍................................................................................................................................................8
5.6.2.接口介绍................................................................................................................................................8
5.7.进度条...............................................................................................................................错误!未定义书签。
5.7.1.功能介绍................................................................................................................................................9
5.7.2.接口介绍................................................................................................................................................9
5.8.滚动条................................................................................................................................................................ 9
5.8.1.功能介绍.............................................................................................................................................. 11
5.8.2.接口介绍.............................................................................................................................................. 11
5.9.出错提示............................................................................................................................错误!未定义书签。
5.9.1.功能介绍.............................................................................................................................................. 11
5.9.2.接口介绍.............................................................................................................................................. 11
6. COMMON链接地址空间............................................................................................................错误!未定义书签。
版权所有,侵权必究 3

1.文档介绍

1.1.文档目的

说明文件系统相关接口使用和作用,帮助AP开发人员方便使用提供的 接口。

1.2.参考文献

[ 1] .

1.3.术语与缩写词
缩写、 术语解 释
APApplication,应用程序

2.功能概述

文件系统接口 模块主要提供包含文件浏览,文件删除,打开,创建,读写,等接口给AP应用调用。

3.其他系统/模块的调用关系

音乐,录音,解码等模式会使用到。

4.性能要求

传入正确的参数。
版权所有,侵权必究 4
地址:珠海市吉大石花西路 107号9栋综合楼 邮编:519015
电话:0756-6313088 传真:0756-6313081
网站:www.zh-jieli.com

5.接口模块功能介绍

5.1.挂载设备
5.1.1.功能介绍

由设备名、路径、文件系统类型来挂载设备和文件系统

5.1.2.接口介绍
函数原型struct imount *mount(const char *dev_name, const char *path, const char *fs_type, int cache_num, void *dev_arg); //挂载
功能描述挂载设备
参数说明dev_name// 设备名字
Path //路径
fs_type// 文件系统类型
cache_num // 缓存数目
dev_arg//设备参数
输出* \return mt结构句柄
例子void *fmnt = mount(p->name, p->storage_path, p->fs_type, 3, NULL);
关联模块dev_manager.c
补充说明注意路径和文件系统类型选择
5.2.卸载设备
5.2.1.功能介绍

卸载设备

5.2.2.接口介绍
函数原型int unmount(const char *path);
功能描述卸载设备
参数说明Path //路径
输出* \return 返回相应的操作消息处理值 0为成功
例子unmount(dev->parm->storage_path);

版权所有,侵权必究 5

关联模块dev_manager.c
补充说明
5.3.格式化
5.3.1.功能介绍
格式化设备。
5.3.2.接口介绍
函数原型int f_format(const char *path, const char *fs_type, u32 clust_size); //格式化接口
功能描述格式化设备
参数说明path// 路径
fs_type// 文件系统类型
clust_size// 簇大小
输出* \return 0格式化成功,非0 失败
关联模块
例子result =f_format(“storage/sd0/C/”,“fat”, 32* 1024);
补充说明暂时只支持fat32得格式化
5.4.文件打开
5.4.1. 功能介绍

/* ---------------------------------------------------------------------------- /
/
* @brief:
@param: fopen 扩展功能
@note: fopen 自动打开、创建文件夹和文件。
说明:
1.设备路径+文件, 其中文件传入格式:"music/test/1/2/3/pk* .wav" "JL_REC/AC69**** .wav""JL_REC/AC690000 .wav"
2.文件名带号,带多少个表示多少个可变数字,最多为8+3 的大小,如表示可变数字名称变为 XXX0001,XXXX002这样得格式,不带*号则只创建一个文件,写覆盖。
@date: 2020-07-22
版权所有,侵权必究 6
/
/
---------------------------------------------------------------------------- */。

5.4.2.接口介绍
函数原型FILE *fopen(const char *path, const char *mode);
功能描述打开文件
参数说明Path// 文件名路径
Mode //打开模式(只读,写,可创建)
输出* \return 返回获得得文件句柄
关联模块/encode_write_file.c, app_config.c, audio_dec_record.c
例子record_file = fopen(path, "r") ;
补充说明注意路径需要带上根路径
5.5.文件读写
5.5.1.功能介绍

读出打开文件得内容。

5.5.2.接口介绍
函数原型int fread(FILE *file, void *buf, u32 len);
功能描述读资源文件
参数说明File// 文件句柄
Buf// 读出内容放置buf
Len // 需要读出内容得长度(一般为buf长度)
输出返回读出得长度
关联模块app_config.c, norflash_update.c, audio_dec_file.c
例子rlen = fread(dec->file, buf, len);
补充说明

版权所有,侵权必究 7

5.6.写文件
5.6.1.功能介绍
文件写入内容
5.6.2.接口介绍
函数原型int fwrite(FILE *file, void *buf, u32 len);
功能描述写资源文件
参数说明File// 文件句柄
Buf// 写入得内容放置buf
Len // 需要写入内容得长度(一般为buf长度)
输出返回写入得长度
关联模块encode_write_file.c
例子ret = fwrite(wfil- >file, frame, len);
补充说明
5.7. Seek到相应位置
5.7.1.功能介绍 Seek到相应得位置。
5.7.2.接口介绍
函数原型int fseek(FILE *file, int offset, int orig);
功能描述Seek到相应得位置
参数说明File//文件句柄
Offset// 偏移量
Orig// 偏移方式
输出* \return 返回偏移得值
关联模块encode_write_file.c
例子fseek(wfil- >file, 0, SEEK_SET);
补充说明偏移方式 #define SEEK_SET 0 /* Seek ~~~~ from beginning of file. */

版权所有,侵权必究 8

#define SEEKCUR 1 /* Seek ~~~~ from ~~~~ current position.~~ */
#define SEEK~~
END 2 /* Seek from end of file.~~ */~~
5.8.获取文件长度
5.8.1.功能介绍
获取文件长度
5.8.2.接口介绍
函数原型int flen(FILE *file);
功能描述获取文件长度
参数说明File//文件结构.
输出* \return 当前文件长度
关联模块audio_dec_file.c
例子len = flen(dec->file);
补充说明
5.9.获取文件指针位置
5.9.1.功能介绍
获取文件指针位置
5.9.2.接口介绍
函数原型int fpos(FILE *file);
功能描述获取文件指针位置
参数说明File//文件结构.
输出* \return 当前文件指针位置

版权所有,侵权必究 9

关联模块/encode_write_file.c, music_id3 .c
例子u32 cur_fptr = fpos(file);
补充说明
5.10.关闭文件
5.10.1.功能介绍
关闭文件
5.10.2.接口介绍
函数原型int fclose(FILE *file);
功能描述关闭文件
参数说明File //文件结构.
输出* \return 无意义
关联模块/encode_write_file. c, /app_config.c
例子fclose(wfil- >file);
补充说明关闭后,将file=NULL 避免成为野指针
5.11.删除文件
5.11.1.功能介绍
删除文件
5.11.2.接口介绍
函数原型int fdelete(FILE *file);
功能描述删除文件
参数说明File //文件结构.
输出* \return 无意义
关联模块/encode_write_file. c, music_player.c
例子fdelete(wfil- >file);

版权所有,侵权必究 10

补充说明删除后,将file=NULL 避免成为野指针
5.12.获取文件名
5.12.1.功能介绍

获取当前文件名称,支持长短文件名。

5.12.2.接口介绍
函数原型int fget_name(FILE *file, u8 *name, int len);
功能描述获取当前文件名称,支持长短文件名。
参数说明File //文件结构.
Name //文件名buf
Len //长度
输出* \return 获取到的文件名长度
关联模块music_func.c, audio_dec_tone.c
例子int lfn_len = fget_name(file, lfn_buf, 512);
补充说明Buf最好足够大,传入len < 16时,默认只获取短文件名
5.13.判断获取文件名是否长文件名
5.13.1.功能介绍

判断是不是unicode码。

5.13.2.接口介绍
函数原型int fget_name_type(char *path, int len); //判断是不是unicode码
功能描述判断是不是unicode码
参数说明Path //文件名buf
究

11

Len //文件名长度
输出* \return
* \retval TRUE 是Unicode
* \retval FALSE 不是
关联模块music_func.c
例子int unicode = fget_name_type(lfn_buf, lfn_len);
补充说明
5.14.文件扫描接口
5.14.1.功能介绍

文件扫描。

5.14.2.接口介绍
函数原型struct vfscan *fscan(const char *path, const char *arg, u8 max_deepth);
功能描述文件扫描
参数说明Path //路径
Arg //s扫描方式
max_deepth // 扫描深度,最大为9
输出* \return vfscan句柄
关联模块dev_manager.c
例子fsn = fscan(fopr->fsn_path, sel- >scan_type, 9);
补充说明/* arg:
* -t 文件类型
* -r 包含子目录
* -d 扫描文件夹
* -a 文件属性 r: 读, /: 非
* -s 排序方式, t:按时间排序, n:按文件号排序
*/

版权所有,侵权必究 12

5.15.可打断文件扫描接口
5.15.1.功能介绍

文件扫描,可打断。

5.15.2.接口介绍
函数原型struct vfscan *fscan_interrupt(const char *path, const char *arg, u8 max_deepth, int ( *callback)(void)); //可打断扫描
功能描述文件扫描,可打断
参数说明Path //路径
Arg //s扫描方式
max_deepth // 扫描深度,最大为9 Callback ///回调函数,用于打断
输出* \return vfscan句柄
关联模块dev_manager.c
例子fsn = fscan_interrupt((const char *)fsn_path, parm, DEV_MANAGER_SCAN_DISK_MAX_DEEPTH, callback);
补充说明回调函数返回 1则打断
5.16.进入指定子目录扫描
5.16.1.功能介绍

/进入指定子目录,只扫此目录下文件信息。

5.16.2.接口介绍
函数原型struct vfscan *fscan_enterdir(struct vfscan *fs, const char *path);
功能描述/进入指定子目录,只扫此目录下文件信息
参数说明Fs //VFScan 句柄
Path //子目录句柄 w
输出究* \return 相应的句柄 13
关联模块jlfat_api.c
例子fsn = fscan_enterdir(fsn, loop_str);
补充说明支持相对路径
5.17.返回上一层
5.17.1.功能介绍

返回上一层目录。

5.17.2.接口介绍
函数原型struct vfscan *fscan_exitdir(struct vfscan *fs);
功能描述返回上一层目录
参数说明Fs //VFScan 句柄
输出* \return 相应的句柄
关联模块jlfat_api.c
例子fsn = fscan_exitdir(fsn);
补充说明
5.18.释放VFSCAN 结构句柄
5.18.1.功能介绍

释放句柄。

5.18.2.接口介绍
函数原型void fscan_release(struct vfscan *fs);
功能描述释放句柄
参数说明Fs //VFScan句柄
输出* \return 无
关联模块dev_manager.c
例子fscan_release(fsn);
补充说明究 14
5.19.选择指定文件
5.19.1.功能介绍

选择指定文件打开。

5.19.2.接口介绍
函数原型FILE *fselect(struct vfscan *fs, int selt_mode, int arg); //选择指定文件
功能描述选择指定文件打开
参数说明Fs ///VFSCAN 句柄
selt_mode // 按什么方式选择
Arg /// 传入选择的参数
输出* \return 文件句柄
关联模块music_player.c
例子__this->file = fselect(__this->fsn, FSEL_PREV_FILE, 0);///选择上一曲
补充说明支持,按簇号、序号、路径选择
5.20.检查挂载目录是否存在
5.20.1.功能介绍

检查挂载目录是否存在。

5.20.2.接口介绍
函数原型int fdir_exist(const char *dir); /
功能描述检查挂载目录是否存在
参数说明Dir ///目录路径
输出* \return 0存在, 1不存在
关联模块究无 15
例子Int exist = fdir_exist(dir)
补充说明
5.21.获取文件属性
5.21.1.功能介绍

获取文件属性。

5.21.2.接口介绍
函数原型int fget_attr(FILE *file, int *attr);
功能描述获取文件属性
参数说明File // 文件句柄
Attr //属性
输出* \return 获取值在attr 中
关联模块jlfat_api.c
例子fget_attr(file, &attr);
补充说明传入指针进去
5.22.设置文件属性
5.22.1.功能介绍

设置文件属性。

5.22.2.接口介绍
函数原型int fset_attr(FILE *file, int *attr);
功能描述设置文件属性
参数说明File // 文件句柄
Attr //属性
输出* \return 设置值在attr 中
关联模块
例子fset_attr(file, attr);
补充说明

版权所有,侵权必究 16

5.23.获取文件相关信息
5.23.1.功能介绍

获取文件相关信息。

5.23.2.接口介绍
函数原型int fget_attrs(FILE *file, struct vfs_attr *attr);//获得文件相关信息如属性、簇号、大小等
功能描述获取文件相关信息
参数说明File // 文件句柄
Attr //记录相应信息的结构体
输出* \return 获取值在attr 中
关联模块encode_write_file.c, music_player.c, /custom_cfg.c
例子fget_attrs( this->file, &attr);
补充说明传入结构体指针进去
5.24.获取分区part
5.24.1.功能介绍

获取分区part。

5.24.2.接口介绍

版权所有,侵权必究

函数原型struct vfs_partition *fget_partition(const char *path);
功能描述获取分区part
参数说明Path //路径
输出* \return vfs_partition句柄
关联模块
例子struct vfs_partition part = fget_partition(path);
17
补充说明
5.25.获取文件夹信息
5.25.1.功能介绍

获取文件夹信息。

5.25.2.接口介绍
函数原型int fget_folder(struct vfscan *fs, struct ffolder *arg); //获取文件夹序号和文件夹内文件数目
功能描述获取文件夹信息
参数说明Fs ///vfscan 结构句柄
Arg // 文件夹信息结构句柄
输出* \return 文件夹信息结构句柄
关联模块
例子fget_folder(fopr->fsn, &folder);
补充说明
5.26.设置长文件名Buf
5.26.1.功能介绍设置长文件名Buf。
5.26.2.接口介绍
函数原型int fset_lfn_buf(struct vfscan *fs, void *arg);//设置长文件名buf
功能描述设置长文件名Buf
参数说明Fs //vfscan 句柄 Arg // buf
输出* \return
关联模块/dev_manager.c
例子fset_lfn_buf(fsn, dev->lfn_buf);
补充说明

版权所有,侵权必究 18

5.27.设置长文件夹名Buf
5.27.1.功能介绍设置长文件夹名Buf。
5.27.2.接口介绍
函数原型int fset_ldn_buf(struct vfscan *fs, void *arg);//设置长文件名buf
功能描述设置长文件夹名Buf
参数说明Fs //vfscan 句柄 Arg // buf
输出* \return
关联模块
例子fset_ldn_buf(fopr->fsn, ldn_buf);
补充说明
5.28.设置后缀类型
5.28.1.功能介绍

设置后缀类型。

5.28.2.接口介绍
函数原型int fset_ext_type(const char *path, void *ext_type);//设置后缀类型
功能描述设置后缀类型
参数说明Path // 路径
ext_type // 后缀类型
输出* \return 0成功,非0不成功
关联模块file_bs_deal.c
例子fset_ext_type(dev_manager_get_bs_root_path(fil_bs->dev), ext_name);
补充说明

版权所有,侵权必究 19

5.29.打开目录
5.29.1.功能介绍

文件浏览使用,打开目录。

5.29.2.接口介绍
函数原型int fopen_dir_info(const char *path, FILE **pp_file, void *dir_dj);
功能描述打开目录
参数说明Path // 路径
pp_file /// 文件句柄
Dir_dj //目录信息句柄
输出* \return 目录项总数
关联模块file_bs_deal.c
例子total_dir = fopen_dir_info(dev_manager_get_bs_root_path(fil_bs->dev), &fil_bs->file, 0);
补充说明
5.30.进入目录
5.30.1.功能介绍

文件浏览使用,进入目录。

5.30.2.接口介绍
函数原型int fenter_dir_info(FILE *file, void *dir_dj); //进入目录
功能描述进入目录
参数说明Path // 路径
pp_file /// 文件句柄
Dir_dj //目录信息句柄
输出* \return 目录项总数
关联模块file_bs_deal.c
例子total_dir = fenter_dir_info(fil_bs->file, dir_info); //使用open获得的file,无需重新申请。
补充说明

版权所有,侵权必究 20

5.31.退出目录
5.31.1.功能介绍

文件浏览使用,退出目录。

5.31.2.接口介绍
函数原型int fexit_dir_info(FILE *file); //退出
功能描述退出目录
参数说明file /// 文件句柄
输出* \return 目录项总数
关联模块file_bs_deal.c
例子total_dir = fexit_dir_info(fil_bs->file);//
补充说明
5.32.获取目录信息
5.32.1.功能介绍

文件浏览使用,获取目录信息。

5.32.2.接口介绍
函数原型int fget_dir_info(FILE *file, u32 start_num, u32 total_num, void *buf_info);
功能描述获取目录信息
参数说明file /// 文件句柄
start_num //起始位置
total_num // 获取目录个数
Buf_info //目录信息句柄
输出* \return 获取的目录数
关联模块file_bs_deal.c
例子real_dir = fget_dir_info(fil_bs->file, start_sn, get_cnt, buf);
补充说明

版权所有,侵权必究 21

5.33.获取歌词
5.33.1.功能介绍

文件浏览使用, 由歌曲名称获取歌词。

5.33.2.接口介绍
函数原型int fget_file_byname_indir(FILE *file, FILE **newFile, void *ext_name); //由歌曲名称获得歌词
功能描述由歌曲名称获取歌词
参数说明file /// 歌曲文件句柄
newFile // 歌词文件句柄
ext_name // 后缀名称
输出* \return 0找到了, 1 没找到
关联模块lyrics_api.c
例子find_lrc_flag = fget_file_byname_indir(file, newFile, ext_name);
补充说明
5.34.长文件名获取
5.34.1.功能介绍

获取长文件名和长文件夹名信息。

5.34.2.接口介绍
函数原型int fget_disp_info(FILE *file, void *arg); //用于长文件名获取
功能描述获取长文件名和长文件夹名信息
参数说明file /// 歌曲文件句柄
Arg //长文件相关信息结构指针
输出* \return 0成功,非0不成功
关联模块music_action.c
例子fget_disp_info(file, & this->fs_info);
补充说明究 22
5.35.创建目录
5.35.1.功能介绍

创建目录。

5.35.2.接口介绍
函数原型int fmk_dir(const char *path, char *folder, u8 mode);
功能描述创建目录
参数说明Path //路径
Folder // 文件夹名称
Mode //目录属性
输出* \return 0成功,非0不成功
关联模块
例子fmk_dir(path, folder, 0);
补充说明
5.36.获取录音文件信息
5.36.1.功能介绍

获取录音文件信息。

5.36.2.接口介绍
函数原型int fget_encfolder_info(const char *path, char *folder, char *ext, u32 *last_num, u32 *total_num) ; //获取录音文件信息
功能描述获取录音文件信息
参数说明Path //路径
Folder // 文件夹名称
Ext //文件名后缀
last_num // 可变数字最大数字
total_num //文件总数
输出* \return 0成功,非0不成功
关联模块
例子究ret = fget_encfolder_info(path, folder, ext, &last_num, &total_num) ; 23
补充说明

image 版权所有,侵权必究 24

Prev
定时器TIMER
Next
音视频录像开发流程