| 在找问题的时候,也在考虑是不是编译器的设置方面有问题:导致没有正确地初始化SDRAM。从而使程序没法运行。          把我的设置情况也说说,请大家帮忙看看: 
 这个设置是用于测试SDRAM的工程。
 将代码下载到片内ram中执行,将数据写到片外的SDRAM,检查SDRAM能否正确写入和读出数据。
 
 首先是地址范围:
 然后是这个:
 最后是.ini 文件当中添加了一段初始化SDRAM的代码:
 
 
   _WDWORD(0xFFFFF804, 0xFFFF0000);      // PIOC_PDR: Enable Peripheral Mode  
 
 _WDWORD(0xFFFFFF60, 0x00000002);      // EBI_CSA: CSA1 support for SDRAM
 
 
 _WDWORD(0xFFFFFF98, 0x22913959);      // Init SDRAM  这个是我自己根据dadasheet改的
 _WDWORD(0xFFFFFF90, 0x00000012);
 // All-bank-precharge mode = 2 (0-3)
 _WDWORD(0x20000000, 0);
 _WDWORD(0xFFFFFF90, 0x00000014);
 // refresh
 _WDWORD(0x20000000, 0);
 _WDWORD(0x20000000, 0);
 _WDWORD(0x20000000, 0);
 _WDWORD(0x20000000, 0);
 _WDWORD(0x20000000, 0);
 _WDWORD(0x20000000, 0);
 _WDWORD(0x20000000, 0);
 _WDWORD(0x20000000, 0);
 // wait for 8 write clocks
 _WDWORD(0xFFFFFF90, 0x00000013);
 // Load Mode Register
 _WDWORD(0x20000080, 0);
 // ???
 _WDWORD(0xFFFFFF94, 0x000002E0);
 _WDWORD(0x20000000, 0);
 _WDWORD(0xFFFFFF90, 0x00000000);
 _WDWORD(0x20000000, 0);
 
 
 有没有设置有误或者考虑不周的地方,请大大们指点一下。。。
 
 |