nandflash文件系统UFFS请教

发布于 2015-07-18 08:50:37
1、在调试realtouch的nandflash文件系统UFFS时,mkdir()、ls()、df()这些命令都正常,但是使用mkfs()会出现hardfault,调试发现是check_blocK、mark_badblock函数为空,看之前资料说不定义宏RT_UFFS_USE_CHECK_MARK_FUNCITON,UFFS文件就会根据read和write自己构建check_block和mark_block函数,请指教?
2、还有我现在想移植到一个1GByte的NandFlash上面,该型号的页大小是4096,我看现在uffs的版本号是1.3.4,该版本是否支持,如果支持需要修改哪些地方呢?
3、还有一个关于ECC校验的问题,当使用4096页时,ECC_SIZE是多少,改如何修改ECC校验函数呢?
问题比较多,还请耐心指教,不胜感激!

查看更多

关注者
0
被浏览
2k
5 个回答
殇上
殇上 2015-07-18
问题2已经找到了,UFFS从1.3.0开始就已经支持page为4K的Nandflash了
haxqdyl
haxqdyl 2015-07-19
我再STM32F103上遇到同样问题,
殇上
殇上 2015-07-20
如果不定义宏RT_UFFS_USE_CHECK_MARK_FUNCITON,则check_block mark_badblock则为空,是由UFFS内部实现的,但是此时在dfs_uffs.c里面dfs_uffs_mkfs()中仍然调用了这两个函数,这不合理呀?请指教
殇上
殇上 2015-07-21
1、关于第一个问题,当不使用宏RT_UFFS_USE_CHECK_MARK_FUNCITON时,mkfs()函数中仍调用了heck_blocK、mark_badblock函数,去掉即可;另外mkfs()中应该是unmount()但是却写成了mount,这应该是手误;
3、我使用的ECC校验方式是HW_AUTO,当ECC_SIZE为4个字节足够,因为4096的ECC校验位30位,记得还要修改ECC数据纠正函数datacorrect()

撰写答案

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

发布
问题

分享
好友

手机
浏览

扫码手机浏览