FATFS管理nandflash存储图片

2019-07-20 04:23发布

如题哦,从ucos,到lwip,到摄像头,到指纹,到sdram,一步步的太艰苦,现在到了nandflash这块,之后还有emwin,回归主题,问如何用FATFS管理nandflash存储图片,我获得的图片方式是一行一行的缓存在sdram,sdram中有完整的图片,这个管理系统麻烦大神告诉我一下大概怎么使用就行啦,详细的我会继续研究,就是第一次接触,想听听大神建议及思路,如果不用文件管理系统,我的图片每行是480个字节,分辨率是480*320,用的是原子的f767核心板上的nandflash,29f4g一页flash是2k+64字节,那样一页存4行数据,用80页就能存一张图,但是擦除只能按block擦除,咦有点不对劲,不必担心多余擦除的问题,我用2个block存一张图片,擦除也就擦除2个block,这样空间虽然浪费太多,不知可行不可行。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
孟亮
1楼-- · 2019-07-22 17:27
kbq1950361006 发表于 2018-3-26 09:09
大神,我不是很懂你说的感觉有点难度,可以研究一下,但是我现在问题就出现在链表上了,        NAND_EraseBlock ...

就这3条来推断也没法下手呀。。。。建议单步跟踪看看,或者跟一下FatFs的链表动作,对比你生成链表的逻辑来找问题。或者简单点,你把链表手动设置为文件起始块到磁盘最后块,在目录区把文件大小设置精确,这样也可以读文件。只不过每次都会提示磁盘需要修复。
kbq1950361006
2楼-- · 2019-07-22 22:12
 精彩回答 2  元偷偷看……
kbq1950361006
3楼-- · 2019-07-23 03:29
孟亮 发表于 2018-3-26 14:13
就这3条来推断也没法下手呀。。。。建议单步跟踪看看,或者跟一下FatFs的链表动作,对比你生成链表的逻辑 ...

大神,问题解决掉了,虽然不是很懂,但是大概就是擦除数据吧链表的序列什么的全弄没了,然后之后的块就查不出来,所以导致很多系统错误,现在问题解决啦,谢谢大神指点
孟亮
4楼-- · 2019-07-23 04:51
kbq1950361006 发表于 2018-3-26 16:33
大神,问题解决掉了,虽然不是很懂,但是大概就是擦除数据吧链表的序列什么的全弄没了,然后之后的块就查 ...

小仙还没飞升上神~~~
kbq1950361006
5楼-- · 2019-07-23 05:07
 精彩回答 2  元偷偷看……
flybit
6楼-- · 2019-07-23 06:21
正点原子 发表于 2018-3-23 01:31
1,16位传输,没必要,我们提供的函数是u8类型的数组,长度不限,你要传16位,强制转换一下,就可以解决。 ...

Hi ,原子哥。对于你们 FTL的代码和教程,我有个疑惑,当FATFS 重复写同一个sector时,那这个sector对应nandflash page里面原先的数据如何处理?是直接进行覆盖吗?需不需要对比下原有数据和重复写入的数据,然后进行合并后写入数据?

一周热门 更多>