我得开发板在8M SDRAM上运行程序一切正常,说明SDRAM硬件无问题,但当在SDRAM上运行后采用SDRAM读写就得不到正确结果,请问是什么原因呢?是不是在SDRAM上运行时SDRAM就不能正常读写呢?测试程序如下: alt_u8 led = 0x2; alt_u8 errow_flag = 0; alt_u16 test_map[1024]; alt_u16 check[1024]; alt_u64 addr = 0x400000;
volatile int i; for(i=0; i<1024; i++) test_map = i; //SDRAM WR AND RD volatile int j;
for(j = 0; j < 1024 ; j++) IOWR_16DIRECT(SDRAM_0_BASE,addr+j,test_map[j]);
for(j = 0; j < 1024 ; j++) check[j] = IORD_16DIRECT(SDRAM_0_BASE,addr+j);
for(j = 0; j < 1024 ; j++) { if(check[j] != test_map[j]) { errow_flag = 1; } }
/// if(!errow_flag) {
led = 0x00; IOWR_ALTERA_AVALON_PIO_DATA(PIO_0_BASE, led); } } |