赞
踩
适用于需要简单测试文件操作,且具备足够的ram/rom空间的场景(不依赖特定硬件,能跑rtthread就行)
因为板子上未带spi flash/SD卡,片内flash驱动还未完善 ,懒得移植fal就随便折腾下
使用rtthread studio,配置勾选dfs和ramfs
将如下代码加入工程,即可自动挂载ramfs,使用动态内存或静态分配内存均可,挂载到根目录即可操作
int fs_test(void)
{
// if (dfs_mount(RT_NULL, "/ram", "ram", 0, dfs_ramfs_create(rt_malloc(8192),8192)) == 0) // 动态申请内存作为ramfs的存储空间
static char ramfs_buf[8192];
if (dfs_mount(RT_NULL, "/", "ram", 0, dfs_ramfs_create(ramfs_buf,sizeof(ramfs_buf))) == 0) // 使用静态分配的内存空间
{
rt_kprintf("RAM file system initializated!\n");
}
else
{
rt_kprintf("RAM file system initializate failed!\n");
}
return 0;
}
INIT_APP_EXPORT(fs_test);
使用rtthread studio,配置勾选dfs和ramfs
修改加入工程的fs_test函数,即可自动挂载romfs
#include <dfs_romfs.h>
int fs_test(void)
{
if (dfs_mount(RT_NULL, "/", "rom", 0, &(romfs_root)) == 0)
{
rt_kprintf("ROM file system initializated!\n");
}
else
{
rt_kprintf("ROM file system initializate failed!\n");
}
}
INIT_APP_EXPORT(fs_test);
编译到romfs的文件和文件夹在romfs.c,结构很直观,与文件系统相同的树形结构
下载运行
也可以参考官方说明,使用rt-thread/tools/mkromfs.py脚本来打包生成romfs,这里不再赘述
在romfs.c新建文件夹/ramfs作为ramfs的挂载点:
(也可以在romfs.c中新建/romfs /ramfs等文件夹,分别作为相应文件系统的挂载点)
修改加入工程的fs_test函数
#include <dfs_romfs.h> int fs_test(void) { if (dfs_mount(RT_NULL, "/", "rom", 0, &(romfs_root)) == 0) { rt_kprintf("ROM file system initializated!\n"); } else { rt_kprintf("ROM file system initializate failed!\n"); } static char ramfs_buf[8192]; if (dfs_mount(RT_NULL, "/ramfs", "ram", 0, dfs_ramfs_create(ramfs_buf,8192)) == 0) // 挂载ramfs到/ramfs { rt_kprintf("RAM file system initializated!\n"); } else { rt_kprintf("RAM file system initializate failed!\n"); } } INIT_APP_EXPORT(fs_test);
完结撒花✿✿ヽ(°▽°)ノ✿
挂载ramfs,并使用ymodem传输文件
需要挂载ramfs到根目录,并配置ymodem和文件传输特性
终端需要使用secureCRT/xshell,(注意mobaxterm不支持ymodem)
以前者为例,输入ry命令并执行,选择传输/发送ymodem,选中要传输的文件即可
看完了,点个赞再走吧 : )
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。