打印

用I/O口直接控制NAND Flash中遇到的问题

[复制链接]
3056|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuepiaojiangu|  楼主 | 2011-9-20 22:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 xuepiaojiangu 于 2011-10-10 13:44 编辑

控制芯片STM32F103RC,不带FSMC,即所为的Nand flash controlleNAND Flash控制器);
选用的Nand Flash为三星的K9F4G08U0A
利用STM325I/O引脚连接了Nand FlashR/NB,NCE,NRE,FCLE,ALE.又利用另外的八个I/O口连接了Flash的那个I/O口。
根据K9F4G08U0A的芯片手册,分析了它写数据、读数据、擦写的时序,实现了I/O完成。可是问题的关键就在于ECC校验了。本人有以下几个问题想问达人:
1.我向flash里写数据和从flash里读数据都需要ECC校验吗?
2.Flash芯片本身具备ECC硬件校验吗?即我向里面写数据后,flash芯片自己校验我写的东西产生一个ecc校验结果保存在它自己的那个spare区域内。然后等我读flash的数据时,flash对我读的数据再进行一次ecc校验,将这个新的结果与它原来保存在spare区域内结果比较得出结论。是这么个过程吗?还是下面的第3
3.STM32flash写数据,同时stm32需要对写入的数据算出个ecc值,同时将这个值送给flash让它记录下来。等数据时,我们再把读出的数据进行ecc校验,同时读出原来存进去的那个ecc值,看是否相同。是这么个过程吗?
4.如果是第3种方式的话,那我的STM32由于没有Nand flash controlle,所以所有的校验工作都得有STM32编程实现,那样好难啊。

请问各位达人,我上面的疑问有能解答的吗?

相关帖子

沙发
820481597zhao| | 2011-9-28 16:06 | 只看该作者
没有用过你所说的FLASH!有一个方法可以参考:
:单片机对FLASH写入数据并且校验数据!然后把校验数据保存在单片机的DATA FLASH中!建议采用N字节为一包
读出来后进行校验!

使用特权

评论回复
板凳
xuepiaojiangu|  楼主 | 2011-10-10 13:43 | 只看该作者
谢谢二楼的朋友了。我在网上找了一份源代码改了改,现在基本可以实现自己想要的功能了。谢谢你了也。

使用特权

评论回复
地板
温wenwen| | 2012-4-10 11:29 | 只看该作者
LZ你在哪里找的源代码,可否给我参考一下啊

使用特权

评论回复
5
chengjiuweiye| | 2013-12-4 14:08 | 只看该作者
xuepiaojiangu 发表于 2011-10-10 13:43
谢谢二楼的朋友了。我在网上找了一份源代码改了改,现在基本可以实现自己想要的功能了。谢谢你了也。 ...

楼主,可以分享一下源码吗,我的产品也用nand flash,但是没有FSMC

使用特权

评论回复
6
zdhlixiang2006| | 2013-12-4 20:40 | 只看该作者
这个Flash少说也有256M吧?真不知道你用一个定位于工控的STM32外扩这么大的ROM干嘛,跑LINUX?你想好了要启动多久吗、

使用特权

评论回复
7
flingde| | 2013-12-18 21:26 | 只看该作者
楼主 分享下源码吧 我跟5楼遇到相同的问题了 选用的芯片没有FSMC控制器 现在用普通IO口模拟呢 但是读出来的ID不正确,给个源码分析下。274098410@qq.com 谢了

使用特权

评论回复
8
rocdove| | 2013-12-18 23:27 | 只看该作者
楼主什么时候来了分享下经验吧

使用特权

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

本版积分规则

2

主题

30

帖子

2

粉丝