Skip to content

Flash MTD

bflb_mtd_init()

初始化 MTD(Flash 存储抽象,含 boot2 引导)

返回值:无

bflb_mtd_open(name, handle, flags)

按分区名打开一个 MTD 设备

📎 设备名速查:支持的设备名(BL616)

返回值:见 SDK 头文件

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

Released under the MIT License. Build Time 2026-09-11 14:52:23