117 Star 460 Fork 323

OpenHarmony / kernel_liteos_m

 / 详情

文件系统适配开发

Done
Requirement
Opened this issue  
2021-08-31 17:50

【需求价值】:

【需求描述】:
1、如何根据flash进行文件系统选择?
2、如何基于NOR_Flash的进行文件系统开发?
3、希望能提供完整的参考文档和代码;
【方案描述】:

【验收标准】:

Comments (10)

tiger created需求
tiger set related repository to OpenHarmony/kernel_liteos_m
Denny set assignee to LeonChan
Denny changed description
Expand operation logs

1, 如何根据flash进行文件系统选择?
2、如何基于NOR_Flash的进行文件系统开发?

这几个问题,太过于宏观庞大,建议先自行了解下flash和文件系统的基础知识

如果有一定的基础,且是要使用M核,做nor flash上的文件系统开发,现在已有的是littlefs,配置很简单,看下这个社区的示例即可
https://blog.csdn.net/u012308586/article/details/108750281

3、希望能提供完整的参考文档和代码;

通过上述的例子,在M核上是可以跑起来的。。我们做了适配开发,和适配POSIX接口的开发,这部分还需要重构和文档化,事务在规划中。。需要用的话可以先阅读下源码

文件系统是否需要和shell绑定才能正常使用?不然保存的日志文件如何获取及查看?

有没有shell有啥关系呢? Linux的文件系统是依赖shell?

你能写到日志里,再读取出来就可以了

1、参考littlefs的Example,我理解直接使用littlefs的api即可正常实现数据保存为文件和从文件读取数据:
https://github.com/littlefs-project/littlefs
liteos_m为何要二次封装littlefs?感觉会增加littlefs使用的复杂性?
https://gitee.com/openharmony/kernel_liteos_m/tree/master/components/fs/littlefs
2、如果要使用liteos_m二次封装后的littlefs,能否提供指导文档和样例代码?
3、我使用文件系统是为了DFX增强(将定位信息保存成日志文件),我理解增加shell功能才能更好获取及查看日志文件吧?
如果要使用liteos_m的shell功能,能否提供指导文档和样例代码?

4、我使用场景是代码编译的可执行文件和可执行文件运行过程产生的维测日志都保存在仅有的一个NOR_Flash上,littlefs满足这个使用场景吧?
(1)因为我看littlefs是不支持多分区,我理解只需为保存日志的地址区间分一个区(不和保存可执行文件区间重叠)出来就行吧?(即只需分一个区,所以不需要支持多分区的fs就行?)
(2)但是我看littlefs的Example,怎么没有指定保存文件区间的操作(我理解这就是所谓的“分区”吧)?
https://github.com/littlefs-project/littlefs

1,提供posix接口
2,shell跟fs没有直接联系

3,可以支持多分区,lfs_config配置即可

1、我只需在liteos中使用littlefs,我理解不需要提供posix接口,所以直接参考如下littlefs的Example使用即可吧?
https://github.com/littlefs-project/littlefs
2、因为我们希望能通过输入命令查看日志,所以还需要使用liteos的shell功能,能否提供指导文档和样例代码?
3、我理解我现在的使用场景只需一个分区,无需多分区吧?
(1)使用场景是代码编译的可执行文件和可执行文件运行过程产生的维测日志都保存在仅有的一个NOR_Flash上;
(2)我理解只需为保存日志的地址区间分一个区(不和保存可执行文件区间重叠)出来就行吧?(即只需一个分区)。

关于上面第二个问题的答复,我看了里面只是介绍了liteos_m做了shell这个功能,但是没有介绍怎么用起来?
就是这块有相关的使用指导文档吗?

Denny changed issue state from 待办的 to 已确认
tiger changed issue state from 已确认 to 待办的

文档还在开发中

LeonChan assigned collaborator LeonChan
LeonChan changed assignee from LeonChan to MGY917
LeonChan unassigned collaborator LeonChan
kenneth changed issue state from 待办的 to 设计中
LeonChan changed issue state from 设计中 to 已完成

Sign in to comment

Status
Assignees
Projects
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
Duration (hours)
参与者(2)
C
1
https://git.oschina.net/openharmony/kernel_liteos_m.git
git@git.oschina.net:openharmony/kernel_liteos_m.git
openharmony
kernel_liteos_m
kernel_liteos_m

Search