搜索
bottom↓
回复: 234

还在玩fatfs?换点口味吧!YAFFS2 更适合NAND 闪存!标题要长...

  [复制链接]

出0入22汤圆

发表于 2013-5-21 20:31:13 | 显示全部楼层 |阅读模式
本人最近搞的一个东西上用到的nandflash,因此想找个文件系统来方便管理文件,由于设备一般都是直接关闭电源的,要是用fatfs的话,有点担心某天分区表就不小心挂掉了,而且fatfs还要自己处理擦写均衡,坏块管理什么的一大堆东西,非常不爽。后来经过一顿百度谷歌,发现了yaffs2,专为nandflash而生,各方面了解后觉得不错,因此产生了移植yaffs2的念头。

由于以前没实际用文件系统做过项目,因此对文件系统不怎么熟悉,本以为百度谷歌之便有教程了,谁知,谷歌翻了几十页都没什么收获,百度翻了几十页都是广告! 有的资料大多是linux下移植,没多大用,好不容易找到个说搞好了,但也只是一笔带过就消失了,代码也没留下! 无奈只好硬着头皮肯代码(吐槽,yaffs的文档真是少,而且文档也是好久都没更新了都是老的),连续肯了2星期,终于搞定了。
好的代码应该让广大 苦逼 程序猿 都能用上,因此现在特将移植好的代码 发布在这里,让大家也尝尝鲜。发扬开源精神,共创和谐论坛,如果你在使用该代码过程中发现bug或者修改了更好的算法,那么希望您也能贡献出您的优秀代码,我们大家都会感激您!

废话了一堆,上代码,下班吃饭去!

我硬件环境lpc1788 + 16M sdram,使用说明在压缩包里面!


从零移植过程的艰苦只有自己才知道,省略一万字。如果你喜欢就顶一下!如果不喜欢也定一下吧!吐槽说简单的就算了吧!至少我分享给了大家,你却只放在你自己的硬盘里。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-5-21 20:35:10 | 显示全部楼层
支持楼主

出0入0汤圆

发表于 2013-5-21 20:48:45 | 显示全部楼层
mark YAFFS2!

出0入0汤圆

发表于 2013-5-21 20:55:04 | 显示全部楼层
收藏 顶起

出0入0汤圆

发表于 2013-5-21 20:56:09 | 显示全部楼层
楼主精神可嘉,果然有码农风范,哈哈

出0入4汤圆

发表于 2013-5-21 20:57:11 | 显示全部楼层
这个得顶,有空也玩玩

出0入0汤圆

发表于 2013-5-21 21:03:03 | 显示全部楼层
支持楼主,顶起

出0入0汤圆

发表于 2013-5-21 21:04:07 | 显示全部楼层
强烈支持楼猪!

出30入25汤圆

发表于 2013-5-21 21:05:46 | 显示全部楼层
用过友善之臂板子的都会熟悉这个东西…
个人感觉,确实比fat坚固

出1000入0汤圆

发表于 2013-5-21 21:15:45 | 显示全部楼层
LZ有空可以了解一下UBI,F2FS,可能对大容量NAND更适用些

出0入0汤圆

发表于 2013-5-21 21:22:01 | 显示全部楼层
支持楼主~

出0入133汤圆

发表于 2013-5-21 21:34:14 | 显示全部楼层
。。LZ其实可以从Linux Kernel中扒出来YAFFS2的代码。任何Linux代码都有YAFFS2的驱动程序,其基于NAND驱动程序。

出0入0汤圆

发表于 2013-5-21 21:37:02 | 显示全部楼层
不错 支持楼主。好像UFFS也不错

出0入0汤圆

发表于 2013-5-21 21:40:41 | 显示全部楼层
貌似RTT有了这个驱动,楼主可以看看。

出0入0汤圆

发表于 2013-5-21 21:45:05 | 显示全部楼层
本帖最后由 3DA502 于 2013-5-21 21:58 编辑


老鼠,LPC1788不适合,没有ECC校验的加速器,软件校验会慢死,推荐使用MB9F506,硬件支持ECC

不过我还是觉得还是用 eMMC 靠谱

另外这里推荐UFFS,这个是在YaFFS上面精简的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-5-21 21:53:57 | 显示全部楼层
楼主为论坛做出了贡献,支持一个!代码收藏了,哈哈

出0入22汤圆

 楼主| 发表于 2013-5-21 21:54:57 | 显示全部楼层
tiancaigao7 发表于 2013-5-21 21:40
貌似RTT有了这个驱动,楼主可以看看。

下了最新版看过,没有的

出0入22汤圆

 楼主| 发表于 2013-5-21 22:04:04 | 显示全部楼层
wye11083 发表于 2013-5-21 21:34
。。LZ其实可以从Linux Kernel中扒出来YAFFS2的代码。任何Linux代码都有YAFFS2的驱动程序,其基于NAND驱动 ...

官网就有源码包,处理一下就能分离出代码,肯linux源码岂不是自找麻烦

出0入22汤圆

 楼主| 发表于 2013-5-21 22:08:49 | 显示全部楼层
3DA502 发表于 2013-5-21 21:45
老鼠,LPC1788不适合,没有ECC校验的加速器,软件校验会慢死,推荐使用MB9F506,硬件支持ECC

不过我还是 ...

yaffs一直在更新维护,最近一次更新在几天前,uffs已经很久不更新了貌似

出0入0汤圆

发表于 2013-5-21 22:18:42 | 显示全部楼层
存储什么数据呢?

能不能举例说下怎么用啊?不太懂。sd卡移植文件系统,可以直接在电脑上查看数据文件。这个文件系统具体怎么用的?

出0入0汤圆

发表于 2013-5-21 22:44:50 | 显示全部楼层
这个得要顶一下啊

出0入147汤圆

发表于 2013-5-21 22:46:55 | 显示全部楼层
楼主不错 曾经动过移植的念头 后来还是放弃了

出0入0汤圆

发表于 2013-5-21 22:47:26 | 显示全部楼层
向楼主学习,以后多开源,
帮人帮己

出0入0汤圆

发表于 2013-5-21 22:51:23 | 显示全部楼层
谢谢楼主

出0入0汤圆

发表于 2013-5-21 22:53:17 | 显示全部楼层
不错 支持了

出0入0汤圆

发表于 2013-5-21 23:29:02 | 显示全部楼层
确实不错,谢谢、

出0入0汤圆

发表于 2013-5-21 23:46:01 | 显示全部楼层
楼主高手。从楼主的难得小清闲系列就关注你了,感谢楼主

出0入0汤圆

发表于 2013-5-21 23:57:21 | 显示全部楼层
支持,但是就这个,推荐lz看inand,而不是nand。

出0入0汤圆

发表于 2013-5-21 23:58:24 来自手机 | 显示全部楼层
收藏、辛苦了

出0入0汤圆

发表于 2013-5-22 00:38:50 | 显示全部楼层
好资料啊,值得

出0入0汤圆

发表于 2013-5-22 04:08:30 | 显示全部楼层
支持一下。eMMC是趋势。

出0入0汤圆

发表于 2013-5-22 07:51:30 | 显示全部楼层
谢谢共享

出0入0汤圆

发表于 2013-5-22 08:06:12 | 显示全部楼层
顶楼主,有时间弄个教程就更好了,呵呵呵

出0入0汤圆

发表于 2013-5-22 08:14:49 | 显示全部楼层
支持楼主!我现在用的uffs1.3.5,轻量级,也不错,学习下yaffs2

出0入22汤圆

 楼主| 发表于 2013-5-22 08:18:17 | 显示全部楼层
SNOOKER 发表于 2013-5-21 23:46
楼主高手。从楼主的难得小清闲系列就关注你了,感谢楼主

高手谈不上,随便玩玩而已

出0入22汤圆

 楼主| 发表于 2013-5-22 08:20:32 | 显示全部楼层
USACH 发表于 2013-5-21 23:57
支持,但是就这个,推荐lz看inand,而不是nand。

可替代的方案多了,但是就成本跟封装来说,目前inand或者说emmc,就是个非主流,要是足够便宜,谁还会折腾这个

出0入0汤圆

发表于 2013-5-22 08:38:38 | 显示全部楼层
jiaowoxiaolu 发表于 2013-5-22 08:20
可替代的方案多了,但是就成本跟封装来说,目前inand或者说emmc,就是个非主流,要是足够便宜,谁还会折 ...

没看懂你在说什么?inand类型的:  比如  sd/tf类似的。就一个稍微好点的接插件的几个,不贵啊。

出0入0汤圆

发表于 2013-5-22 08:39:20 | 显示全部楼层
yaffs2很好移植啊。代码很清晰。唯一花了点时间的就是函数返回值和常规习惯不同

出0入0汤圆

发表于 2013-5-22 08:44:12 | 显示全部楼层
好贴留名!

出0入22汤圆

 楼主| 发表于 2013-5-22 08:49:05 | 显示全部楼层
USACH 发表于 2013-5-22 08:38
没看懂你在说什么?inand类型的:  比如  sd/tf类似的。就一个稍微好点的接插件的几个,不贵啊。 ...

推荐一款你说的inand 价格便宜量又足,不要bga封装,因为设备环境复杂,是在车上,有震动,有灰尘,经常还会暴晒或者进点水,tf之类不焊死的,你用的放心?

出0入4汤圆

发表于 2013-5-22 08:59:17 | 显示全部楼层
学习了  

出0入4汤圆

发表于 2013-5-22 09:05:15 | 显示全部楼层
支持一下。

出0入0汤圆

发表于 2013-5-22 09:06:50 | 显示全部楼层
jiaowoxiaolu 发表于 2013-5-22 08:49
推荐一款你说的inand 价格便宜量又足,不要bga封装,因为设备环境复杂,是在车上,有震动,有灰尘,经常 ...

我懂啦。

我不知道,不喜欢BGA是什么情感。

出0入0汤圆

发表于 2013-5-22 09:53:41 来自手机 | 显示全部楼层
按个爪印,或许用得着。

出0入0汤圆

发表于 2013-5-23 14:59:36 | 显示全部楼层
好东西,感谢分享

出0入0汤圆

发表于 2013-5-23 15:03:00 | 显示全部楼层
从零开始的确都不容易。。。

出0入0汤圆

发表于 2013-5-24 17:27:40 | 显示全部楼层
顶起,楼主不错,MARK

出0入0汤圆

发表于 2013-5-24 17:54:25 | 显示全部楼层
david1234 发表于 2013-5-21 21:15
LZ有空可以了解一下UBI,F2FS,可能对大容量NAND更适用些

这两个资料不多啊,有MDK或IAR下的移植吗

出0入0汤圆

发表于 2013-5-24 19:09:40 | 显示全部楼层
本帖最后由 electrlife 于 2013-5-24 19:10 编辑

好东西,留名,多谢LZ分享!
曾经也看过YAFFS,唯一的遗憾就是太占用内存也,也只有带SDRAM的MCU也玩得起!

出0入0汤圆

发表于 2013-5-24 19:13:27 | 显示全部楼层
不错。支持下

出0入0汤圆

发表于 2013-5-24 19:13:49 | 显示全部楼层
不知成本怎么样

出0入0汤圆

发表于 2013-5-24 19:38:13 | 显示全部楼层
一直都没注意、分不清  所谓  nor flash 、nand flash 啥意思

出0入0汤圆

发表于 2013-5-24 20:15:32 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2013-5-25 02:19:22 | 显示全部楼层
支持楼主!!!

出10入14汤圆

发表于 2013-5-25 08:17:21 | 显示全部楼层
感谢楼主分享,支持一下

出0入4汤圆

发表于 2013-5-25 08:24:42 | 显示全部楼层
重要参考,感谢楼主分享

出0入0汤圆

发表于 2013-5-25 09:08:44 | 显示全部楼层
支持楼主,给力

出0入0汤圆

发表于 2013-5-25 09:59:28 | 显示全部楼层
厉害啊。以前用SD卡都格成FAT32了.

出0入0汤圆

发表于 2013-5-30 09:45:41 | 显示全部楼层
标记一下,用的着

出0入0汤圆

发表于 2013-5-30 14:17:30 | 显示全部楼层
这个要顶的,不错

出0入0汤圆

发表于 2013-6-5 22:40:55 | 显示全部楼层
支持楼主!

出0入0汤圆

发表于 2013-6-5 22:41:58 | 显示全部楼层
以前研究过YAFFS,看过代码,也想移植到单片机上,但没坚持下来,还是楼主厉害!

出0入0汤圆

发表于 2013-6-5 23:05:57 | 显示全部楼层
mcu还要坏块管理,擦写平衡,都是很有追求的人啊...要我说就直接eMMC,自带控制器,简单方便....折腾这些坏块什么的,太麻烦了

出0入0汤圆

发表于 2013-6-5 23:32:25 来自手机 | 显示全部楼层
标记一下 是好东西

出0入0汤圆

发表于 2013-6-6 09:35:36 来自手机 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2013-6-7 17:47:04 | 显示全部楼层
标记,学习。

出0入0汤圆

发表于 2013-6-7 18:46:25 | 显示全部楼层
yaffs的文档 可以共享吗? 谢谢

出0入22汤圆

 楼主| 发表于 2013-6-7 18:50:50 | 显示全部楼层
mcucow 发表于 2013-6-7 18:46
yaffs的文档 可以共享吗? 谢谢

官网有所有文档,不过都比较老

出0入0汤圆

发表于 2013-6-7 19:11:05 | 显示全部楼层
用了多少RAM?

出35入88汤圆

发表于 2013-6-7 19:40:51 | 显示全部楼层
非常感谢!正在学习中!

出0入0汤圆

发表于 2013-6-21 23:24:22 | 显示全部楼层
mark lpc1788 nandflash

出0入0汤圆

发表于 2013-6-24 21:15:23 | 显示全部楼层
顶一个,其实这个更考验人!

出0入0汤圆

发表于 2013-7-12 00:11:53 | 显示全部楼层
顶顶顶,楼主精神值得学习!

出0入0汤圆

发表于 2013-7-12 00:43:17 来自手机 | 显示全部楼层
请问下楼主,如果要在电脑上查看YAFF文件系统里的文件,用WINDOWS不行吧,得用LINUX应该

出0入0汤圆

发表于 2013-7-12 09:27:25 | 显示全部楼层
呵呵,我也来一句:
还在玩yaffs2?换点品味吧!UBIFS更适合嵌入式应用。

出0入0汤圆

发表于 2013-7-14 14:40:20 | 显示全部楼层
顶起!学习学习!mark!

出0入0汤圆

发表于 2013-7-16 10:49:30 | 显示全部楼层
谢谢楼主的无私奉献,先收藏了!TKS

出0入0汤圆

发表于 2013-7-19 18:59:19 来自手机 | 显示全部楼层
你内存那么大,当然合适了,有好多还是只有几十k内存的呢,没法玩这个

出0入0汤圆

发表于 2013-7-19 19:21:33 | 显示全部楼层
如果不是LPC1788等能够挂sdram的片子,yaffs估计有点扛不住,内存耗得比较多啊。

出0入0汤圆

发表于 2013-7-19 22:08:55 | 显示全部楼层
太耗内存了,和FATFS使用的硬件不一样

出0入0汤圆

发表于 2013-7-19 22:53:19 | 显示全部楼层
定,顶,丁,订,鼎。。。。。。。

出0入17汤圆

发表于 2013-7-19 23:13:40 | 显示全部楼层
厉害~~~~~~~~~~~~~

出0入0汤圆

发表于 2013-7-25 21:31:38 | 显示全部楼层
必须顶一下楼主!多谢分享经验。

出0入0汤圆

发表于 2013-8-12 14:55:20 来自手机 | 显示全部楼层
mark……
顶一个…

出0入0汤圆

发表于 2013-8-24 20:24:57 | 显示全部楼层
不错,支持!

出0入0汤圆

发表于 2013-8-24 20:28:02 | 显示全部楼层
0flame0
支持楼主!我现在用的uffs1.3.5,轻量级
请问uffs1.3.5好移植吗?

出0入0汤圆

发表于 2013-8-24 20:36:22 | 显示全部楼层
mark!!!!!!!!!!!

出0入0汤圆

发表于 2013-8-24 21:56:11 | 显示全部楼层
jiaowoxiaolu 发表于 2013-5-22 08:49
推荐一款你说的inand 价格便宜量又足,不要bga封装,因为设备环境复杂,是在车上,有震动,有灰尘,经常 ...

推荐netcom的tSD产品。tssop48封装的SD,专门用于嵌入式产品。
http://www.netcom-ic.com/en/products/detail.asp?id=164

出0入0汤圆

发表于 2013-8-24 23:11:09 | 显示全部楼层
佩服楼主的良苦用心。

出0入0汤圆

发表于 2013-8-30 13:15:05 | 显示全部楼层
很需要顶下/|\

出0入0汤圆

发表于 2013-8-30 13:22:32 | 显示全部楼层
学习学习啊

出0入0汤圆

发表于 2013-9-7 13:31:58 | 显示全部楼层
在楼主提供的资料的基础上,基本完成了移植,不过问题很多,现在只能加载文件系统上去,还没试过打开文件,关闭文件,读写文件等基本操作。现在连怎么拷贝个文件到NAND中都成了问题,头大!

出40入0汤圆

发表于 2013-9-7 14:08:14 | 显示全部楼层
mark            

出0入0汤圆

发表于 2013-9-7 17:23:06 | 显示全部楼层
支持楼主开源精神

出0入22汤圆

 楼主| 发表于 2013-9-7 17:53:23 | 显示全部楼层
advarx21ic 发表于 2013-9-7 13:31
在楼主提供的资料的基础上,基本完成了移植,不过问题很多,现在只能加载文件系统上去,还没试过打开文件, ...

自己在里面建立一个文件,写入一些数字,然后再读出来,正常就行了,原版压缩包里面有一些使用的例子,参考一下就行了

出0入0汤圆

发表于 2013-9-11 09:34:32 | 显示全部楼层
不错,学习了

出0入0汤圆

发表于 2013-9-11 12:39:49 | 显示全部楼层
jiaowoxiaolu 发表于 2013-9-7 17:53
自己在里面建立一个文件,写入一些数字,然后再读出来,正常就行了,原版压缩包里面有一些使用的例子,参 ...

楼主,帮忙看看怎么我的debug viewer输出的信息会乱码?我的硬件和你的是一样的。程序也是照抄你的,不过弄了几天愣是动不起来,新建文件可以成功,但是写入文件就不行,调用写入函数返回的值正常,但是查询文件大小就一直都是零。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-9-11 13:09:06 | 显示全部楼层
这个支持。一直未用上文件系统,下载备用 。

出0入0汤圆

发表于 2013-9-11 13:38:06 | 显示全部楼层
支持楼主

出0入22汤圆

 楼主| 发表于 2013-9-11 14:02:37 | 显示全部楼层
advarx21ic 发表于 2013-9-11 12:39
楼主,帮忙看看怎么我的debug viewer输出的信息会乱码?我的硬件和你的是一样的。程序也是照抄你的,不过 ...

view窗口乱码那是jlink的事,发太快就会这样,我也没办法,直接print到实体串口上就没有了, 你先不要开编译优化,我这里试过速度太快的话nandflash会读写不成功
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-5-16 23:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表