初级会员

- 积分
- 67
- 金钱
- 67
- 注册时间
- 2014-5-13
- 在线时间
- 0 小时
|
5金钱
在Block2源程序基础上改的,改了 以下几个地方:
//NCE3
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 ;
GPIO_Init(GPIOG, &GPIO_InitStructure);
//INT3 NAND pin configuration
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_Init(GPIOG, &GPIO_InitStructure);
//起始地址
#define NAND_FLASH2_START_ADDR ((uint32_t)0x80000000)
FSMC_NANDInitStructure.FSMC_Bank = FSMC_Bank3_NAND;
/* FSMC NAND Bank Cmd Test */
FSMC_NANDCmd(FSMC_Bank3_NAND, ENABLE);
就改了这几个地方,读出来的结果NAND的ID就是错的;读出的结果为Nand Flash ID = 8F,8F,8F,8F Type = Unknow。
下面是读ID地址的函数,这里面也要改吗?改那个地方?
void FSMC_NAND_ReadID(NAND_IDTypeDef* NAND_ID)
{
uint32_t data = 0;//???????????是不是这里要改
/* Send Command to the command area */
*(vu8 *)(NAND_FLASH_START_ADDR | CMD_AREA) = 0x90; //0x90??????????????????????
*(vu8 *)(NAND_FLASH_START_ADDR | ADDR_AREA) = 0x00; //0x00???????????????????
/* Sequence to read ID from NAND flash */
data = *(vu32 *)(NAND_FLASH_START_ADDR | DATA_AREA);
NAND_ID->Maker_ID = ADDR_1st_CYCLE (data);
NAND_ID->Device_ID = ADDR_2nd_CYCLE (data);
NAND_ID->Third_ID = ADDR_3rd_CYCLE (data);
NAND_ID->Fourth_ID = ADDR_4th_CYCLE (data);
}
是不是还需要改其他哪个地方?
求高手指点,万分感谢,下周一老师要检查进展,现在心里好虚啊。 |
|