|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
我在ADS中编译通过后调试AXD时,全速运行常常出现“A memory access failed.Some of the data displayed may be invalid"的提示,有时有时没有这样的提示。我写的程序是像往SDRAM里传送数据。同样一个程序,有时可以正确的往SDRAM里写,有时就不能写操作了,会出现上述提示。请高手指点一二,谢谢!
#include <stdlib.h>
#include <string.h>
#include "def.h"
#include "option.h"
#include "2410addr.h"
#include "2410lib.h"
#include "2410slib.h"
#include "mmu.h"
void SDRAM_IN(void);
void Main(void)
{
MMU_Init();
ChangeClockDivider(1,1); // 1:2:4
ChangeMPllValue(0x47,0x1,0x2); // FCLK=79MHz,HCLK=40M,PCLK=20M
rCLKCON=0x0E270;
rCLKDIVN=0x03;
Port_Init();
rBWSCON=0x01000000;
rBANKCON6=0x187008; /*16位SDRAM*/
rREFRESH=(1<<23)|(0<<22)|(0<<20)|(3<<18)|(2049-(int)(HCLK*7.8125e-6));
rBANKSIZE=(0<<7)|(0<<5)|(1<<4)|0;
rMRSRB6=(0<<9)|(0<<7)|(2<<4)|0;
SDRAM_IN();
}
void SDRAM_IN(void)
{ volatile unsigned int *p=((unsigned int *)(0x30400000));
int i;
for(i=0;i<32768;i++)
*p++=((rGPEDAT >> 4) & 0x1);
}
|
|