发新帖我要提问
12
返回列表
打印

对不起,可能**错了。

[复制链接]
楼主: minmindede
手机看帖
扫描二维码
随时随地手机跟帖
21
minmindede|  楼主 | 2007-4-13 22:25 | 只看该作者 回帖奖励 |倒序浏览

命苦,我需要32MB空间, 老大还有在片内搞几个备份,就是说

所以我不可能用小页的NAND FLASH,只能用K9F4G,K9F2G子类的大FLASH。 看来没有戏,只能用笨办法了

使用特权

评论回复
22
xzm0662| | 2007-4-14 13:55 | 只看该作者

推荐买sd卡,买多了还可以自己用,呵呵

使用特权

评论回复
23
赵崇伟| | 2007-4-14 16:06 | 只看该作者

nandflash必须使用ffs

因为是不可靠的存储器,存储数据会出错。而编制ffs是一个大项目。还是买现成的吧。

使用特权

评论回复
24
农民讲习所| | 2007-4-14 16:28 | 只看该作者

不应该按EEPROM方式使用NANDFLASH

而是按照文件系统或数据库方式使用:
  一个BLOCK32页,预先擦除。一页512+16(SPACE),可以按照记录大小再细分为64字节为一个记录块单位,SPACE的16字节用来做标记。
  修改一个记录块,可以把记录块数据读出并标记为废弃,再新的空的记录块位置写入并修改索引。
  

使用特权

评论回复
25
minmindede|  楼主 | 2007-4-14 18:39 | 只看该作者

老农,我们的页是2K的,对你的方法有兴趣,

“修改一个记录块,可以把记录块数据读出并标记为废弃,再新的空的记录块位置写入并修改索引。”

 这样的后果就是参数的地址是不固定的。 有点想LINUX下的一个文件系统。 写均衡什么的。但是对于类似单片机应用的东东来说是不是有点复杂?
  
   这样也没有解决参数修改引发的block擦除的问题啊。是不是可以这么说,我所有的block都没有空间之后才会 回头擦除第一个块?然后。
  如果我理解没有错误的话 寿命问题应该可以解决。不过涉及到了参数寻址的问题!

使用特权

评论回复
26
平常人| | 2007-4-14 20:32 | 只看该作者

老农的办法可以用,但不太适合NAND Flash

NAND的手册上一般都要求一页的内容最好一次写完,最多不要超过四次。

像你这种需求,最好的办法就是用5楼提的缓存,缓存满后在倒到NAND中,缓存可以用RAM、EEPROM、外部串行Flash等。

使用特权

评论回复
27
eleven11| | 2007-4-14 21:58 | 只看该作者

老农,哪有那么简单

使用特权

评论回复
28
农民讲习所| | 2007-4-14 22:06 | 只看该作者

只要一次擦除完,可以多次写入,只要写入位置FF

所以记录可以在一个BLOCK中顺序写,在写完BLOCK后把后面的BLOCK擦除掉即可。
如果总是保留一个已擦除的BLOCK,那么实际上不需要存储索引,可以按那个BLOCK作为数据的结束位置,运行过程中重建索引。

使用特权

评论回复
29
平常人| | 2007-4-14 23:01 | 只看该作者

28楼的说法不成立,而且很危险

请看下面摘录的SAMSUNG的K9F1G08的数据手册片断,请特别注意红线划出的部分:

使用特权

评论回复
30
jamems| | 2007-4-14 23:22 | 只看该作者

在此借贵地向各位仁兄求助一下

在此借贵地向各位仁兄求助一下:
  请问手机系统中的MTK平台和展讯平台主要区别在哪?优缺点又有哪些?
  小弟现在有个TFT的显示屏当用在MTK平台上显示OK,但用在展讯平台上就会显示字体变大,但一直苦恼找不到什么原因.

使用特权

评论回复
31
minmindede|  楼主 | 2007-4-15 00:08 | 只看该作者

平常人 很细心呢, 俺没有看到这段话!

使用特权

评论回复
32
农民讲习所| | 2007-4-15 09:18 | 只看该作者

这是对页的局部编程来说的。

使用完整的页编程就可以。
每次重复写入页缓冲区数据,只不过在当前记录数据写入的位置,全是FF,所以不会有问题,不会发生数据丢失。这是写入单个记录用,如果没有存储的实时要求,最好还是写满一页后写入,这样时间和次数也大大减少。

使用特权

评论回复
33
平常人| | 2007-4-15 09:47 | 只看该作者

所长的办法是:顺序并重复的写入数据到页缓冲区。。。

所长的办法是:顺序并重复的写入数据到页缓冲区,在填满缓冲区后执行页编程操作;这个办法可行,但一次页编程操作可能会拖得很长,即Page Program两个操作码(80H和10H)的间距被拉得很大,而且在系统突然掉电前要保证要足够的时间结束页编程操作。

如果我没有猜错的话,楼主应该是要做税控机方面的设备,税控收款机、税控器、税控打印机一类的东西,你要用NAND存放报税的数据。因为这个应用的特殊性,一定不能丢失数据,NAND的坏块管理、错误检测和错误纠正一定要做好,做不好还不如多花点成本选用比NAND可靠性高的器件。

使用特权

评论回复
34
minmindede|  楼主 | 2007-4-16 08:56 | 只看该作者

平常人 厉害。哈哈!

看那得出来你多NAND FLASH 是很熟悉的。应该是用过。而且用过多次, 在你的印象中,NANDFLASH 是否可靠?
     谢谢

使用特权

评论回复
35
赵崇伟| | 2009-1-9 11:15 | 只看该作者

没那么简单的

nand-flash在写入一个区域的时候,会导致另外一个区域的数据失效,另外寿命也短,认真看看手册就知道了,不要幻想由简单算法可以使用的。

使用特权

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

本版积分规则