之前的产品用的是K9F2G08U0C,三星已经通知停产。查看三星可用的型号后,选择K9F4G08U0E。申请样片焊上调试发现,启动时会卡在OAL Clear Storage的地方,出现ECC校验错误。
在Eboot中调试后发现,在写入时,2KB + 64B一起写时没有问题。但是写完之后,再次单独去写64B时,就会导致2K的数据被破坏,64B数据也不对。因为Wince的Nandflash驱动在page写时需要三步:1是先写64B区域(Spare),将page标为编程中;2是写数据和校验并将页置为有效;3是将老的page标为无效。三步中,1.3需要单独的对Spare区域进行写操作。这样就出现了问题。
调试了很久,也对比了读写时序,都没有发现问题,一直无法通过。最后通过代理的技术支持了解到。该芯片的Number of partial-page programs参数为1,K9F2G08U0C的该参数为4.也就是说K9F4G08U0E只能对2K或是64或者是2K+64编程一次,下次编程必须要先擦除。K9K8G08U0E也是一样的。因为芯片手册是同一个。
不知道大家有没有遇到这个问题。如何才能解决呢?
------解决思路----------------------
没用过这款flash,你查查LoongEmbedded的帖子,看看他之前是不是也是用这款flash出的问题。
------解决思路----------------------
我也遇到这个额问题,但最后还是没有解决掉,改用用其他芯片了。
------解决思路----------------------
LZ是否解决了?我也遇到这个问题