基于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!