flash的BYTE#管脚是怎么拉的,确定是设为8bit模式了吗?
flash是新的没写过吗?要是写过的话,要确保flash是擦除过的才能写。
WriteByte函数不是很严谨,我记得有一个检查某一个线状态的过程,类似于:
int Write_Byte(unsigned int Address, unsigned char data)
{
unsigned int timeout = 0;
//Unlock command
*(unsigned char *)(FlashBaseAddr+0xAAA) = 0xAA;
*(unsigned char *)(FlashBaseAddr+0x555) = 0x55;
//Setup command
*(unsigned char *)(FlashBaseAddr+0xAAA) = 0xA0;
//Write data to destination
*(unsigned char *)Address = data;
do timeout += 1;
while((*(unsigned char *)Address) != data && timeout < 0xffff);
if(timeout ==0xffff)
return -1;
else
return 0;
// flashnext++;
}