mem_accesses.c

来自「ADI BLACKFIN BF561 SDRAM读写程序」· C语言 代码 · 共 66 行

C
66
字号
#include "cdefBF561.h"
#include "ccblkfn.h"
#include "declarations.h"
#include <sysreg.h>

#define BUF_SIZE 1000
#define DELAY_SIZE 0x00ffffff

extern volatile unsigned short test_buffer_one[BUF_SIZE];

void Fill_Mem()
{
	short i;
	
	for(i=0; i<BUF_SIZE; i++)
	{
		test_buffer_one[i] = i;
	}
	
}

void Test_Fill()
{
	short testVar, j;
	int i;
	
	*pFIO0_DIR = 0xFFFF;
	*pFIO1_DIR = 0xFFFF;
	*pFIO2_DIR = 0xFFFF;
	
	for(j=0; j<BUF_SIZE; j++)
	{
		testVar = test_buffer_one[j];
		if(testVar != j)
		{
			//Blink LEDs one pattern to indicate failure.	
			//Stay in this blink loop forever.			
			*pFIO0_FLAG_T = 0xFFFF;
			*pFIO1_FLAG_T = 0xFFFF;
			*pFIO2_FLAG_T = 0xFFFF;
			
			for(i=0; i<DELAY_SIZE; i++)
			{
				asm("nop;");
			}		
		}
	}
	
	
	//If program reaches here, memory test passed.
	//Read memory matches the fill memory.

	while(1)
	{
		*pFIO0_FLAG_T = 0x5555;
		*pFIO1_FLAG_T = 0x5555;
		*pFIO2_FLAG_T = 0x5555;

		for(i=0; i<DELAY_SIZE; i++)
		{
			asm("nop;");
		}
			
	}	
}

⌨️ 快捷键说明

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