打印

大四菜鸟向询问操作系统里文件读写的问题

[复制链接]
1606|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lisn1234|  楼主 | 2013-3-27 21:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大四学生,正在做毕设,大致是用stm32,并搭建rt-thread操作系统完成一些检测任务。

需要在nandflash里面写入我采集到的数据,就利用rtt的文件系统,但是怎么改文件的名字呢?
比方说第3次操作得到的数据,我想命名成“003.txt”,有没有办法自动实现呢?

可能是比较弱智的问题……但是有点困扰
向各位前辈、师兄鞠躬了~~

相关帖子

沙发
lisn1234|  楼主 | 2013-3-27 21:51 | 只看该作者
怎么写着“此贴已结”了……

使用特权

评论回复
板凳
huangxz| | 2013-3-27 22:38 | 只看该作者
lisn1234 发表于 2013-3-27 21:51
怎么写着“此贴已结”了……

0分表示一阶吧。

使用特权

评论回复
地板
aozima| | 2013-3-27 23:01 | 只看该作者
你首先我要做的是搭建一个基本系统,至少基本操作是会的,如果不会,从大一重来。

然后需要熟悉文件系统的操作,NAND FLASH因为有块块,所以要做坏块管理及擦写平衡,所以有一定的门槛。
建议先使用SD卡上面的方便系统,甚至毕设直接使用SD卡来存储,光NAND的文件系统就够完成一个毕设了。

因为RT-Thread使用POSIX兼容的文件操作API,所以你可以先基于SD卡来存储你的数据。
待一切都完成了,再启用NAND的文件系统,而应用程序则基本不必做修改。
如果上面几个都完成了,还不能实现"第3次采集的数据保存成003.txt" ?

使用特权

评论回复
5
lisn1234|  楼主 | 2013-3-27 23:17 | 只看该作者
aozima 发表于 2013-3-27 23:01
你首先我要做的是搭建一个基本系统,至少基本操作是会的,如果不会,从大一重来。

然后需要熟悉文件系统的 ...

感谢回答~~

rtt的系统我是会的,已经基本搭建完成了,各个功能的框架也好了。因为这是一个工程项目的一部分,制作好的板子只有nandflash……如果直接使用操作系统里面的文件系统,还需要用到nandflash的坏块管理和按块或者页来读写吗?不能直接调用rtt里面的open()、close()等这些函数吗?

使用特权

评论回复
6
aozima| | 2013-3-27 23:27 | 只看该作者
以FAT文件系统为例,存储设备可以是SD卡,硬盘等,都属于块设备。
NAND FLASH叫MTD设备,如果直接当成SD卡来处理,则很快就因为坏块而无法使用了。
所以解决方法有两种:
1. 使用一套坏块管理程序,把MTD虚拟成块设备,这样就可以继续使用FAT文件系统了(叫NFTL)。(实际上SD卡内部就是有这样一个程序)
2. 直接使用带坏块管理的NAND专用文件系统,如yaffs等。
因为RT-Thread的DFS使用POSIX接口的原因,所以,应用程序不用关心底层是使用的哪个文件系统。

使用特权

评论回复
7
lisn1234|  楼主 | 2013-3-27 23:33 | 只看该作者
aozima 发表于 2013-3-27 23:27
以FAT文件系统为例,存储设备可以是SD卡,硬盘等,都属于块设备。
NAND FLASH叫MTD设备,如果直接当成SD卡 ...

非常感谢~再努力学一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

26

帖子

1

粉丝