Flash MTD
bflb_mtd_init()
初始化 MTD(Flash 存储抽象,含 boot2 引导)
返回值:无
bflb_mtd_close(handle)
关闭 MTD 设备并释放句柄
返回值:见 SDK 头文件
bflb_mtd_info(handle, info)
获取 MTD 设备信息(名称/地址/大小)
返回值:见 SDK 头文件
bflb_mtd_erase(handle, addr, size)
擦除 MTD 设备内指定区域
返回值:见 SDK 头文件
bflb_mtd_erase_all(handle)
擦除整个 MTD 分区
返回值:见 SDK 头文件
bflb_mtd_write(handle, addr, size, data)
向 MTD 设备写入数据
返回值:见 SDK 头文件
bflb_mtd_read(handle, addr, size, data)
从 MTD 设备读取数据
返回值:见 SDK 头文件
bflb_mtd_size(handle, size)
获取 MTD 分区大小
返回值:见 SDK 头文件
EasyFlash 键值库
easyflash_init()
初始化 EasyFlash(键值存储)
返回值:见 SDK 头文件
ef_get_env_blob(key, value_buf, buf_len, saved_value_len)
读取键值对(二进制 二进制数据)
返回值:见 SDK 头文件
ef_get_env_blob_offset(key, value_buf, buf_len, saved_value_len, offset)
按偏移读取键值 二进制数据
返回值:见 SDK 头文件
ef_set_env_blob(key, value_buf, buf_len)
写入键值对(二进制 二进制数据)
返回值:见 SDK 头文件
ef_set_env(key, value)
写入字符串键值对
返回值:见 SDK 头文件
ef_del_env(key)
删除键值对
返回值:见 SDK 头文件
ef_save_env()
保存环境变量到 Flash
返回值:见 SDK 头文件
ef_env_set_default()
恢复键值默认值
返回值:见 SDK 头文件
ef_set_and_save_env(key, value)
写入并保存键值对
返回值:见 SDK 头文件
ef_del_and_save_env(key)
删除并保存键值对
返回值:见 SDK 头文件
ef_print_env()
打印全部键值对
返回值:见 SDK 头文件
ef_foreach_env(cb, arg)
遍历全部键值对
返回值:见 SDK 头文件
FATFS
f_open(fp, path, mode)
打开或创建文件
返回值:见 SDK 头文件
f_close(fp)
关闭文件
返回值:见 SDK 头文件
f_read(fp, buff, btr, br)
读文件
返回值:见 SDK 头文件
f_write(fp, buff, btw, bw)
写文件
返回值:见 SDK 头文件
f_lseek(fp, ofs)
移动文件读写指针
返回值:见 SDK 头文件
f_truncate(fp)
截断文件到当前指针
返回值:见 SDK 头文件
f_sync(fp)
同步文件缓冲到磁盘
返回值:见 SDK 头文件
f_opendir(dp, path)
打开目录
返回值:见 SDK 头文件
f_closedir(dp)
关闭目录
返回值:见 SDK 头文件
f_readdir(dp, fno)
读取目录项
返回值:见 SDK 头文件
f_findfirst(dp, fno, path, pattern)
查找第一个匹配文件
返回值:见 SDK 头文件
f_findnext(dp, fno)
查找下一个匹配文件
返回值:见 SDK 头文件
f_mkdir(path)
创建目录
返回值:见 SDK 头文件
f_unlink(path)
删除文件或目录
返回值:见 SDK 头文件
f_rename(path_old, path_new)
重命名文件或目录
返回值:见 SDK 头文件
f_stat(path, fno)
获取文件信息
返回值:见 SDK 头文件
f_chmod(path, attr, mask)
修改文件属性
返回值:见 SDK 头文件
f_utime(path, fno)
修改文件时间戳
返回值:见 SDK 头文件
f_chdir(path)
切换当前目录
返回值:见 SDK 头文件
f_chdrive(path)
切换当前驱动器
返回值:见 SDK 头文件
f_getcwd(buff, len)
获取当前工作目录
返回值:见 SDK 头文件
f_getfree(path, nclst, fatfs)
获取空闲空间
返回值:见 SDK 头文件
f_getlabel(path, label, vsn)
获取卷标
返回值:见 SDK 头文件
f_setlabel(label)
设置卷标
返回值:见 SDK 头文件
f_expand(fp, fsz, opt)
预分配连续空间
返回值:见 SDK 头文件
f_mount(fs, path, opt)
挂载/卸载卷
返回值:见 SDK 头文件
f_mkfs(path, opt, work, len)
格式化卷
返回值:见 SDK 头文件
f_fdisk(pdrv, ptbl, work)
磁盘分区
返回值:见 SDK 头文件
f_setcp(cp)
设置代码页
返回值:见 SDK 头文件
f_putc(c, fp)
写单个字符
返回值:见 SDK 头文件
f_puts(str, cp)
写字符串
返回值:见 SDK 头文件
f_printf(fp, str, ...)
格式化写字符串
返回值:见 SDK 头文件
get_fattime()
获取当前时间(FAT 时间戳回调)
返回值:见 SDK 头文件
ff_oem2uni(oem, cp)
OEM 字符转 Unicode
返回值:见 SDK 头文件
ff_uni2oem(uni, cp)
Unicode 转 OEM 字符
返回值:见 SDK 头文件
ff_wtoupper(uni)
字符转大写
返回值:见 SDK 头文件
ff_memfree(mblock)
释放内存钩子
返回值:无
ff_mutex_create(vol)
创建互斥锁钩子
返回值:见 SDK 头文件
ff_mutex_delete(vol)
删除互斥锁钩子
返回值:无
ff_mutex_take(vol)
获取互斥锁钩子
返回值:见 SDK 头文件
ff_mutex_give(vol)
释放互斥锁钩子
返回值:无
LittleFS
lfs_format(lfs, config)
格式化 littlefs 文件系统
返回值:见 SDK 头文件
lfs_mount(lfs, config)
挂载 littlefs
返回值:见 SDK 头文件
lfs_unmount(lfs)
卸载 littlefs
返回值:见 SDK 头文件
lfs_remove(lfs, path)
删除文件或目录
返回值:见 SDK 头文件
lfs_rename(lfs, oldpath, newpath)
重命名文件或目录
返回值:见 SDK 头文件
lfs_stat(lfs, path, info)
获取文件/目录信息
返回值:见 SDK 头文件
lfs_getattr(lfs, path, type, buffer, size)
读取自定义属性
返回值:见 SDK 头文件
lfs_setattr(lfs, path, type, buffer, size)
写入自定义属性
返回值:见 SDK 头文件
lfs_removeattr(lfs, path, type)
删除自定义属性
返回值:见 SDK 头文件
lfs_file_open(lfs, file, path, flags)
打开文件
返回值:见 SDK 头文件
lfs_file_opencfg(lfs, file, path, flags, config)
按配置打开文件
返回值:见 SDK 头文件
lfs_file_close(lfs, file)
关闭文件
返回值:见 SDK 头文件
lfs_file_sync(lfs, file)
同步文件到存储
返回值:见 SDK 头文件
lfs_file_read(lfs, file, buffer, size)
读文件
返回值:见 SDK 头文件
lfs_file_write(lfs, file, buffer, size)
写文件
返回值:见 SDK 头文件
lfs_file_seek(lfs, file, off, whence)
移动文件指针
返回值:见 SDK 头文件
lfs_file_truncate(lfs, file, size)
截断文件
返回值:见 SDK 头文件
lfs_file_tell(lfs, file)
获取文件指针位置
返回值:见 SDK 头文件
lfs_file_rewind(lfs, file)
重置文件指针到开头
返回值:见 SDK 头文件
lfs_file_size(lfs, file)
获取文件大小
返回值:见 SDK 头文件
lfs_mkdir(lfs, path)
创建目录
返回值:见 SDK 头文件
lfs_dir_open(lfs, dir, path)
打开目录
返回值:见 SDK 头文件
lfs_dir_close(lfs, dir)
关闭目录
返回值:见 SDK 头文件
lfs_dir_read(lfs, dir, info)
读取目录项
返回值:见 SDK 头文件
lfs_dir_seek(lfs, dir, off)
移动目录指针
返回值:见 SDK 头文件
lfs_dir_tell(lfs, dir)
获取目录指针位置
返回值:见 SDK 头文件
lfs_dir_rewind(lfs, dir)
重置目录指针
返回值:见 SDK 头文件
lfs_fs_stat(lfs, fsinfo)
获取文件系统统计
返回值:见 SDK 头文件
lfs_fs_size(lfs)
获取文件系统使用大小
返回值:见 SDK 头文件
lfs_fs_gc(lfs)
触发垃圾回收/磨损均衡
返回值:见 SDK 头文件
lfs_fs_mkconsistent(lfs)
使文件系统保持一致(掉电恢复)
返回值:见 SDK 头文件
lfs_fs_grow(lfs, block_count)
扩展文件系统大小
返回值:见 SDK 头文件
lfs_migrate(lfs, cfg)
迁移旧文件系统到 littlefs
返回值:见 SDK 头文件
崩溃转储
coredump_print(addr, lma_addr, len, desc)
打印崩溃转储数据
返回值:无
coredump_run()
执行崩溃转储流程(保存现场到 Flash)
返回值:无
core_partition_init(flash_addr, flash_size)
初始化崩溃转储 Flash 分区(地址/大小)
返回值:无
coredump_xip_flash_write(lma, lma_xip, len)
把 XIP 缓冲数据写入崩溃转储 Flash
返回值:见 SDK 头文件
core_bin_start_hook(lma, len)
崩溃转储二进制段开始钩子
返回值:无
core_bin_sections_hook(lma, lma_xip, len)
崩溃转储内存段转储钩子
返回值:无
core_bin_end_hook(header_lma)
崩溃转储二进制段结束钩子
返回值:无
异步事件
async_event_loop()
处理异步事件队列(事件循环)
返回值:无
async_post_general_event(event)
投递一个通用异步事件到队列
返回值:见 SDK 头文件
async_post_event(type, code, value)
按类型/代码/值投递一个异步事件
返回值:见 SDK 头文件
async_register_event_filter(type, cb, priv)
注册事件过滤器(事件回调)
返回值:见 SDK 头文件
async_unregister_event_filter(type, cb, priv)
注销事件过滤器
返回值:见 SDK 头文件
OTA 升级
bflb_ota_start(file_size)
开始一次 OTA 升级(传入固件总大小)
返回值:见 SDK 头文件
bflb_ota_update(filesize, offset, buf, buf_len)
写入 OTA 固件数据块
返回值:见 SDK 头文件
bflb_ota_finish(check_hash)
结束 OTA 并完成写入(可校验哈希)
返回值:见 SDK 头文件
bflb_ota_read(offset, buf, buf_len)
读取已写入的 OTA 固件数据
返回值:见 SDK 头文件
bflb_ota_check()
校验 OTA 固件哈希
返回值:见 SDK 头文件
bflb_ota_apply()
应用 OTA 固件(切换到新固件)
返回值:见 SDK 头文件
bflb_ota_abort()
中止 OTA 升级并清理
返回值:无
遇到问题?
如有其他问题,请到统一的提问与讨论区:Ai-Thinker Discussions

