【Wukong AI】 T5文件系统挂载使用

Wi-Fi 设备、蜂窝设备、WuKongAI、开发板、TuyaOS 移植等


Post Reply
愚者千虑必有一得
Posts: 796

​ 涂鸦开发框架使用原厂文件系统,用户只需要在使用前调用mount接口挂载对应文件系统即可,无需进行文件系统的移植。

​ 开发框架支持littlefs、fatfs文件系统,fatfs默认在sd卡上使用,因此使用前请将sd卡格式化为相对应的格式,littlefs默认在内外部flash上使用。

  • ​ 挂载使用

  • 挂载外部flash文件系统

Code: Select all

void littlefs_demo_task(void *arg)
{
    char buf[64] = {'\0'};
    char fp[64] = {'\0'};
    tkl_fs_mount(""/"", LFS_QSPI_FLASH);

    if (path == NULL) {
        bk_printf("read failed, no file name spec\r\n");
        return;
    }

    sprintf(fp, "%s/%s", mount_point, path);

    TUYA_FILE f = tkl_fopen(fp, "ab");
    if (f == NULL) {
        bk_printf("open %s failed\r\n", path);
        return;
    }

    tkl_fwrite(size, buf, f);
    tkl_fclose(f);
    
    f = tkl_fopen(fp, "r");
    if (f == NULL) {
        bk_printf("open %s failed\r\n", path);
        return;
    }
  
    tkl_fread(buf, 64, f);
    tkl_fclose(f);
    bk_printf("read: %s\r\n", buf);
}
  • 挂载sd卡文件系统

Code: Select all

void fatfs_demo_task(void *arg)
{
    char buf[64] = {'\0'};
    char fp[64] = {'\0'};
    tkl_fs_mount("/scard", DEV_SDCARD);
    if (path == NULL) {
        bk_printf("read failed, no file name spec\r\n");
        return;
    }

    sprintf(fp, "%s/%s", "/scard", path);

    TUYA_FILE f = tkl_fopen(fp, "ab");
    if (f == NULL) {
        bk_printf("open %s failed\r\n", path);
        return;
    }

    tkl_fwrite(size, buf, f);
    tkl_fclose(f);
    
    f = tkl_fopen(fp, "r");
    if (f == NULL) {
        bk_printf("open %s failed\r\n", path);
        return;
    }
  
    tkl_fread(buf, 64, f);
    tkl_fclose(f);
    bk_printf("read: %s\r\n", buf);
}

Code: Select all

 挂载内部flash文件系统

Code: Select all

void littlefs_inner_demo_task(void *arg)
{
    char buf[64] = {'\0'};
    char fp[64] = {'\0'};
    tkl_fs_mount("/", LFS_FLASH);
        if (path == NULL) {
        bk_printf("read failed, no file name spec\r\n");
        return;
    }

    sprintf(fp, "%s/%s", "/", path);

    TUYA_FILE f = tkl_fopen(fp, "ab");
    if (f == NULL) {
        bk_printf("open %s failed\r\n", path);
        return;
    }

    tkl_fwrite(size, buf, f);
    tkl_fclose(f);
    
    f = tkl_fopen(fp, "r");
    if (f == NULL) {
        bk_printf("open %s failed\r\n", path);
        return;
    }
  
    tkl_fread(buf, 64, f);
    tkl_fclose(f);
    bk_printf("read: %s\r\n", buf);
}
Post Reply