37#include "xf_vfs_littlefs.h"
41#define TAG "test_benchmark"
77 xf_vfs_littlefs_conf_t conf = {
78 .base_path =
"/littlefs",
80 .format_if_mount_failed =
true,
87 xf_err_t ret = xf_vfs_littlefs_register(&conf);
90 XF_LOGE(
TAG,
"Failed to mount or format filesystem");
92 XF_LOGE(
TAG,
"Failed to find LittleFS partition");
103 xf_vfs_littlefs_unregister(conf.partition_label);
124 char fmt_fn[64] = { 0 };
125 char fname[128] = { 0 };
126 uint64_t t_write = 0;
128 uint64_t t_delete = 0;
134 strcat(fmt_fn, mount_pt);
135 if (fmt_fn[
xf_strlen(fmt_fn) - 1] !=
'/') {
138 strcat(fmt_fn,
"%d.txt");
140 const char *content =
"All work and no play makes Jack a dull boy.\n";
144 for (uint8_t i = 0; i < iter; i++) {
150 XF_LOGE(
TAG,
"Failed to open file %d for writing", i);
153 for (uint32_t j = 0; j < 2000; j++) {
159 xf_log_printf(
"%d bytes written in %lld us\n", fsize, (t_end - t_start));
160 t_write += (t_end - t_start);
167 for (uint8_t i = 0; i < iter; i++) {
173 XF_LOGE(
TAG,
"Failed to open file %d for reading", i);
179 while (bytesRead > 0) {
186 xf_log_printf(
"%d bytes read in %lld us\n", fsize, (t_end - t_start));
187 t_read += (t_end - t_start);
194 for (uint8_t i = 0; i < iter; i++) {
206 xf_log_printf(
"deleted file %d in %lld us\n", i, (t_end - t_start));
207 t_delete += (t_end - t_start);
213 xf_log_printf(
"Total (%d) Write: %lld us\n", n_write, t_write);
215 xf_log_printf(
"Total (%d) Delete: %lld us\n", n_delete, t_delete);
xf_err_t xf_fal_init(void)
初始化 FAL.
xf_us_t xf_sys_time_get_us(void)
获取系统时间的时间戳,单位微秒(us)
__weak xf_err_t xf_sys_watchdog_disable(void)
关闭看门狗
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
const char * xf_err_to_name(xf_err_t code)
返回 xf_err_code_t 错误代码对应的错误信息字符串。
#define xf_snprintf(dest, size, format,...)
int xf_vfs_unlink(const char *path)
int xf_vfs_open(const char *path, int flags, int mode)
xf_vfs_ssize_t xf_vfs_read(int fd, void *dst, size_t size)
xf_vfs_ssize_t xf_vfs_write(int fd, const void *data, size_t size)
static void read_write_test_1(const char *mount_pt, uint32_t iter)
Writes and deletes files
void test_benchmark(void)
static int get_file_size(const char *fname)
#define XF_FAL_DEFAULT_PARTITION_NAME
#define XF_LOGI(tag, format,...)
#define XF_LOGE(tag, format,...)
#define xf_log_printf(format,...)
signed int xf_vfs_ssize_t