打印

请教:i.MX 21使用三星K9F4G08的问题

[复制链接]
2794|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rockos|  楼主 | 2009-3-16 17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在i.mx 21上使用了一片三星K9F4G08,没有使用NorFlash器件。

在对NFC编程时出现了很奇怪的现象,擦除Flash的过程没有问题。在写入Flash时,因为K9F4G08是2KBytes的Flash,所以我使用了MAB0,在整个写入过程中,我对比了MAB0~MAB3和写入区域的内容,完全一致。

但是再从Flash中读出时,问题就出来了,以每个页为单位,只有前512字节能被读出来,剩下的1536个字节全是0xFF。

我在<<i.mx 21 Applications Processor Reference Manual (Rev.3, 04/2007)>>的第19-18页,也就是460页对NAND_Flash_Config2寄存器的描述中有一行注解:
One page size is determined by SP_EN register bit and NFC_FMS input. It is 528bytes or 16bytes no matter if NFC_FMS is
0 or 1.
这行注解是标在FDO位后面的,貌似每次写入Flash时只能写入512字节,那还怎么对2KBytes页大小的NAND编程呢?

我检查了寄存器<Function Multiplexing Control Register 0x10027814>,它的值是0xFFFFFFEB,即NF_FMS=1,NF_16BIT_SEL=0,与期望值完全一致。

有哪位能帮帮忙?

相关帖子

沙发
张明峰| | 2009-3-17 09:09 | 只看该作者

Flash page不一样

要改BSP底层Flash驱动程序。建议你通过
https://www.freescale.com/webapp/servicerequest.create_SR.framework
寻去进一步帮助,可以用中文描述你的问题

使用特权

评论回复
板凳
rockos|  楼主 | 2009-3-18 23:12 | 只看该作者

飞思卡尔的技术支持回复很快....

Dear Sun,

In reply to your Service Request SR 1-552540237:

Actually, the i.MX21 NAND Flash Controller (NFC) treats a 2Kbyte memory
pages as four 512 byte ones.
Therefore, the data for a 2Kbyte page NAND Flash memory devices are
arranged as follows:
|512byte data|16byte spare|512byte data|16byte spare|512byte data|16byte
spare|512byte data|16byte spare|
not as:
|2K data |64byte spare| ).

So the operation of reading 2k page should be performed 4 times.

Thank you for your interest in Freescale Semiconductor products and for
the opportunity to serve you.

Should you need to contact us with regard to this message, please see
the notes below.

Best Regards,
Guanqiong
Technical Support
Freescale Semiconductor

使用特权

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

本版积分规则

10

主题

172

帖子

0

粉丝