我使用的是Flash是AM29LV320DB,是4M*16bit的芯片,利用EBIU对Flash的第一M地址空间读写都能正常进行,捕捉AMS0会发现有低电平出现,如果我用相同的程序读写后3M空间时候,用示波器观察AMS1\AMS2\AMS3都一直为高电平,不会拉低,请问这是为什么?我的程序是:
*pEBIU_AMBCTL0 = 0x7BB07BB0; //Write access time = 7 cycles, read access time = 11 cycles, no ARDY
*pEBIU_AMBCTL1 = 0x7BB07BB0; //Hold time = 2 cycles, setup time = 3 cycles, transition time = 4 cycles
*pEBIU_AMGCTL = 0x000F; //Enable all memory banks
读写代码是:
#define GetAddr(addr) (volatile unsigned short *)(FLASH_ADDR|(addr<<1))
ip = GetAddr1(Addr);
return(*ip);
为什么读取0x2000000--0x20100000地址空间AMS0有低电平出现,而其他3M没有低电平呢?