基于QEMU文件系统实现文本文件读写

基于QEMU文件系统实现文本文件读写

虚拟SD卡创建与挂载

在ENV安装目录下env/tools/fatdisk/中创建sd文件夹
在这里插入图片描述
修改fatdisk.xml中的参数,如下图所示。
在这里插入图片描述
在此目录下使用ENV工具,输入fatdisk生成sd.bin文件
在这里插入图片描述
复制上图中的sd.bin至rt-thread源码相关目录中,替换对应的sd.bin文件,如下图所示。
在这里插入图片描述
挂载文件系统的源代码位于qemu-vexpress-a9\applications\mnt.c 中。在实际代码中会将块设备 sd0 中的文件系统挂载到根目录/上,也可自己按照需求做些修改。

#include <rtthread.h>

#ifdef RT_USING_DFS
#include <dfs_fs.h>

int mnt_init(void)
{
    
    
    rt_thread_delay(RT_TICK_PER_SECOND);

    if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
    {
    
    
        rt_kprintf("file system initialization done!\n");
    }

    return 0;
}
INIT_ENV_EXPORT(mnt_init);
#endif

文件创建示例程序编写

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

ENV配置

在此目录打开ENV
在这里插入图片描述
打开如下目录
在这里插入图片描述
打开示例
在这里插入图片描述

在这里插入图片描述
退出后,更新和scons编译
在这里插入图片描述

测试

在如下目录打开ENV
在这里插入图片描述
输入.\qemu.bat
在这里插入图片描述
出现如下效果
在这里插入图片描述

使用示例,生成目录及文件(原本操作过了所以出现error),cat打印后显示hello world!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43058521/article/details/106318880