dfs

dfs_filesystem_lookup() 返回NULL

发布于 2020-07-29 13:01:19

问题表现:
代码中open一个不存在的文件:fd = open("/devcfg.txt", O_WRONLY|O_CREAT);
返回-1,debug发现是dfs_filesystem_lookup()返回NULL,跟进去看了filesystemtable的内容如图:
fst.png
RTT menuconfig的时候是选了dfs组件的,如图:
dfs.png

额外测试:
接下来我自己测试了打开/dev/uart1 和/dev/uart3,可以打开(因为menuconfig中enable了uart1和uart3), 打开/dev/uart2一样的失败,没有enable这个。

疑问:
1、RTT的片上flash需要用户执行mount吗?因为我看filesystemtable里面就只有/dev目录,所以怀疑OS启动的时候没有把flash mount上。
2、我看官方的case,readwriteSample也没有提及系统要准备的环境(https://www.rt-thread.org/document/api/readwrite_sample_8c-example.html#a1)。

查看更多

关注者
0
被浏览
160
whj467467222
whj467467222 认证专家 2020-07-29

需要挂载之后才可以使用,如果没有挂载路径就没办法实现文件的读写打开关闭等操作。

2 个回答
Juggernaut
Juggernaut 2020-07-29

你好,感谢回复。
挂载片内flash是不是用这个API:dfs_mount()?
片上flash的device_name不知道,需要enable UFFS,然后dfs_mount("nand0", "/nand0", "uffs", 0, 0)?
这是我在github上找到case

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览