主题 : tiny6410内核配置疑问 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 59705
精华: 0
发帖: 27
金钱: 140 两
威望: 28 点
贡献值: 0 点
综合积分: 54 分
注册时间: 2011-11-28
最后登录: 2016-02-02
楼主  发表于: 2011-12-20 21:49

 tiny6410内核配置疑问

Linux2.6.38内核,使用MLC nand,我发现通过make menuconfig命令配置时,Nand Hardware ECC是被选上的,由于我想使用Yaffs2文件系统,因为YAFFS文件系统是不是用硬件ECC的,所有就没有选中这一项,但是编译出问题了,提示这样就有问题了,提示:
s3c_nand_mlc.o 里面需要的函数s3c_nand_wait_enc() 和 s3c_nand_wait_dec() 两个函数未定义,我看s3c_nand.c里面由于没有定义宏CONFIG_MTD_NAND_S3C_HWECC,所以这2个函数被屏蔽掉了,但是 s3c_nand_mlc.o是一个二进制文件,没有源码的,没法改啊,请相关技术支持工程师提供解决方案。

或者直接告诉我要想使用Yaffs2挂载NAND分区该怎么做。
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
1楼  发表于: 2011-12-21 09:49
个人认为,Nand Hardware ECC这一项必须选择
级别: 新手上路
UID: 59705
精华: 0
发帖: 27
金钱: 140 两
威望: 28 点
贡献值: 0 点
综合积分: 54 分
注册时间: 2011-11-28
最后登录: 2016-02-02
2楼  发表于: 2011-12-21 09:55
问题是YAFFS文件系统有自己的ECC方式,不需要HW ECC。如果想用YAFFS挂载NAND分区就需要禁用HW ECC,我接触过的其他平台里面都是这样的。

友善你们自己没有测试过YAFFS吗?
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
3楼  发表于: 2011-12-21 10:52
引用第2楼garyv于2011-12-21 09:55发表的  :
问题是YAFFS文件系统有自己的ECC方式,不需要HW ECC。如果想用YAFFS挂载NAND分区就需要禁用HW ECC,我接触过的其他平台里面都是这样的。

其它平台我不了解,但是据我所知SLC的mini6410 就是启用了HW ECC,同时也可以烧写yaffs2 并正常使用
你可以分析yaffs2的代码,看看它的ecc是几bit,是保护哪部分数据