⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdram.c

📁 《ARM嵌入式应用开发技术白金手册》源代码
💻 C
字号:
/*
测试sdram中的数据模块是否有错误!

*/

#include "ioregs.h" 
#include "flash.h"
#include "put.h"

void writeram(int n){
int i;
for(i=0;i<n;i+=4)
RAM_WORD(i)=0xFFFFFFFF;
}

void readram(int n){
int i;
int temp=0xffffffff;
for(i=0;i<n;i+=4)
	{if(RAM_WORD(i)!=0xFFFFFFFF){
	put_num32(i);put_char('*');
	temp=temp&i;
	put_num32(temp);put_char('\n');
	if (temp==0)
	{
		return;
	}		
}

}

}

delay()
{
int i,j;
for(i=0;i<1000;i++)
j++;


}


void writeandread(int n){
int i,j=0;
unsigned long temp=0xABCDEF12;
for(i=0;i<n;i+=4)
	{
	j=j+4;
	RAM_WORD(i)=temp;
	if(RAM_WORD(i)!=temp){
	put_num32(i);put_char(':');put_num32(RAM_WORD(i));
	//put_char(':');put_num32(RAM_WORD(i));
	//put_char(':');put_num32(RAM_WORD(i));
	//put_char(':');put_num32(RAM_WORD(i));
	
	put_char('*');

	//temp=temp&i;
	//put_num32(temp);
	put_char('\n');
	//if (temp==0)
	//{
	//	return;
	//}		
	}	
	if(j==4*1024)
		{
		j=0;
		put_char('.');
		}
}
}
void ramtest(int addr)
{
	int i=0,temp;
	RAM_WORD(addr)=0xF0F0F0F0;

	while(1){
	i++;
	temp=RAM_WORD(addr);
	if(temp!=0xF0F0F0F0)
	{
		put_num32(i);put_char('*');
		put_num32(temp);
		put_char('\n');
	}
	if (i>1000000)
	{
		return;
	}
	}
}
void ramtest1()
{
	int data=0xF0F0F0F0,temp,count=0,i,j;
	for(i=0;i<0x020;i+=4)
	{
	RAM_WORD(i)=data;
		for(j=0;j<100;j++)
		{
		j=j+1;j=j-1;
		}
	temp=RAM_WORD(i);
	if (temp!=data)
	{
		put_num32(i);put_char(':');put_num32(temp);put_char('\n');break;
		RAM_WORD(i)=data;
		//发现第一个错误的地址
		count=0;
			get_char();
		while(count<2){
			RAM_WORD(i)=data;
					for(j=0;j<1000;j++)
					{
					j=j+1;j=j-1;
					}

			temp=RAM_WORD(i);count++;
			if (temp!=data){
			put_num32(count);put_char('-');
			put_num32(temp);put_char('\n');
			}
		}
		}
	if ((i|0xFFFF1000)==0xFFFF1000)
	{
	//	put_num32(i);put_char('\n');
	}


	
	}

}

void ramtest2()
{
;
}
void  C_vMain(void)
{
	//writeram(500000);
	//readram(500000);
	//writeandread(2000);
	//ramtest(0x00000B00);
	put_char('s');
	get_char();
	writeandread(0x1000000);

	//ramtest1();
	put_char('D');
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -