STM32读写NAND Flash的程序,请高手指教!

[复制链接]
6508|9
手机看帖
扫描二维码
随时随地手机跟帖
vfp8341|  楼主 | 2012-8-17 14:17 | 显示全部楼层 |阅读模式
小弟最近在学习用STM32读写NAND Flash,但是开发板带的例程怎么也看不懂,请高手指点一二。小弟的问题是:红色字体的地址数据到底怎么跟flash的地址对应起来?
感觉无法理解它为什么这么写。还一个:蓝色字体为什么参数是零呢?谢谢了!
/*******************************************************************************
* Function Name  : Nand_Page_Read
* Description    : NAND页读(一次2K)
* Input          : - buffer:
*               - PageAddr:
*             - BlockAddr:
* Output         : None
* Return         : None
* Attention   : None
*******************************************************************************/
uint8_t Nand_Page_Read(uint8_t *buffer,uint8_t PageAddr,uint16_t BlockAddr)
{
uint8_t AddrLow;
uint8_t AddrHigh;
uint16_t Addr;

Addr = BlockAddr + ( PageAddr << 10 );
AddrLow = (uint8_t)( Addr & 0xff );
AddrHigh = (uint8_t)( ( PageAddr >> 8 ) & 0xff );

Nand_Command_Send(0x00);
Nand_Address_Send(0);
Nand_Address_Send(0);
Nand_Address_Send(AddrHigh);
Nand_Address_Send(AddrLow);
Nand_Command_Send(0x30);

while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_5) == 0);  /* 等待写完成 为低表示忙 */

for( Addr=0; Addr<2048; Addr++ )
{
  buffer[Addr] = Nand_RDad_Data();
}
return 0;  
}
vfp8341|  楼主 | 2012-8-17 15:34 | 显示全部楼层
等一等。。。

使用特权

评论回复
IJK| | 2012-8-17 15:54 | 显示全部楼层
LZ需要看用的是 大页(2k/page)还是小页(512/page)的 NAND FLASH,然后参看相应的data sheet,就容易明白了。

使用特权

评论回复
香水城| | 2012-8-17 16:06 | 显示全部楼层
我十分怀疑你这个例程跑不起来。。。

使用特权

评论回复
vfp8341|  楼主 | 2012-8-17 17:45 | 显示全部楼层
对,还是要继续啃数据手册啊。。。 3# IJK

使用特权

评论回复
vfp8341|  楼主 | 2012-8-17 17:49 | 显示全部楼层
香版,这个带的例程能通过,用串口助手显示着,先写、后读,现象都正常,但是我下了N多NAND的读写程序,没一个跟这个一样,活见鬼了。谢谢香版。 4# 香水城

使用特权

评论回复
vfp8341|  楼主 | 2012-8-17 17:50 | 显示全部楼层
对了,芯片是HY27UF081G2A。

使用特权

评论回复
经常补钙| | 2012-8-21 11:52 | 显示全部楼层
楼主仔细看用户手册,再计算一下,你会发现,这个程序发送的地址是页地址,而前两个周期发送为0,。
说的通俗点,这个程序就是找具体哪个页。而前两个周期发送的地址为这个页中具体的地址,即列地址。

使用特权

评论回复
爱不孤单| | 2014-7-2 16:47 | 显示全部楼层
你去看一下nand flash 工作原理,根据页寻址方式确定发送数据所需位数,然后移位发送数据

使用特权

评论回复
lzhp1999| | 2014-7-21 16:15 | 显示全部楼层
我是因为布板,口线不顺,不用模拟的话,板子布的很难看。所以不采用FSMC来控制,口线应该一样模拟的。

使用特权

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

本版积分规则

0

主题

44

帖子

1

粉丝