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

📄 mem_test.c

📁 基于ARM9芯片的一个简单的GPRS测试程序
💻 C
字号:
/*********************************************************************************************
* File:	memory.c
* Author:	embest
* Desc:	memory test file
* History:	
*			H.T.Zhang, Programming modify, September 14, 2005
*********************************************************************************************/

/*------------------------------------------------------------------------------------------*/
/*                                     include files	                                    */
/*------------------------------------------------------------------------------------------*/
#include "2410lib.h"
#include "demo.h"
#include "lcd.h"
/*********************************************************************************************
* name:		memory_test
* func:		memory test
* para:		none
* ret:		none
* modify:
* comment:		
*********************************************************************************************/
void memory_test(void)
{
    int i;
    int nMemError=0;
    UINT32T nData,nTestStart,nTestEnd;
    UINT32T *pPt;
    UINT32T *pSrcPt=0;
    UINT8T szBuf[40];
    char buf[60];

	lcd_disp_str16(30,60,BLUE,"Test RAM from address 0x30200000 to 0x30400000 ");	
    // memory test
#ifdef BOARDTEST
	nTestStart = 0x30200000;
#else
	nTestStart = uart_getintnum(); 
#endif
#ifdef BOARDTEST
	nTestEnd = 0x30400000;
	print_lcd(f_nInfoCol,f_nInfoRow,RED,"Memory writing...");	
#else
	nTestEnd = uart_getintnum();     
#endif
	uart_printf("Memory Test(%xh-%xh):WR",nTestStart,nTestEnd);
    pPt=(UINT32T *)(nTestStart);
    while((UINT32T)pPt<(nTestEnd))
    {
		nData = *pSrcPt++;
		*pPt  = nData;			// write something to test
		pPt++;
	}
#ifdef BOARDTEST
	print_lcd(f_nInfoCol,f_nInfoRow+f_nPadRow,RED,"Memory Reading...");	
#endif
    pPt=(UINT32T *)(nTestStart);
	
    while((UINT32T)pPt<(nTestEnd))
    {
		nData = *pSrcPt++;
		if(nData - (*pPt))
		{
		    nMemError=1;
		    sprintf(&szBuf, "MemTest FAIL:0x%x=0x%x\n",i,nData);
		    break;
		}
		pPt++;
	}

    if(nMemError==0)
		sprintf(&szBuf, "MemTest O.K.\n");
    
    uart_printf(szBuf);
#ifdef BOARDTEST		
	print_lcd(f_nInfoCol,f_nInfoRow+2*f_nPadRow,RED,&szBuf);	
#endif
}

⌨️ 快捷键说明

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