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

📄 rom_test.c.bak

📁 uboot底层驱动
💻 BAK
字号:
#include "my_printf.h"#define READ_REG(addr)  ((unsigned int)*(volatile  char *)(addr))#define WRITE_REG(addr, data)  ((unsigned int)(*(volatile char *)(addr)) = (data))int ERR = 0;int adrr_test(int addr_base, int addr_end){	int i = 0;	int count = addr_end / ERASEBLOCKSIZE + 1; 	for (; i < count; i++)	{		NorFlash_unlock(addr_base + i*ERASEBLOCKSIZE);		NorFlash_blockerase(addr_base + i*ERASEBLOCKSIZE);	}        for (i = 0; i<addr_end; i++, i++)		NorFlash_write(addr_base+i, i);	for (i=0; i<addr_end; i++,i++)		if ( i != NorFlash_read(addr_base + i) )		{			my_printf("addr bus error\n\r");			ERR = 1;		}}	int flash_test(int addr_base){	int i = 0;	int j = 0;	int erase_count;	do {		if ( (erase_count = i / ERASEBLOCKSIZE) > j)		{			j++;			NorFlash_unlock(addr_base + erase_count*ERASEBLOCKSIZE);			NorFlash_blockerase(addr_base + erase_count*ERASEBLOCKSIZE); 		}		NorFlash_write(addr_base+i, 0x5555);		NorFlash_write(addr_base+i+2, 0xaaaa);		if ( NorFlash_read(addr_base+i) != 0x5555 )		{			if ( NorFlash_read(addr_base+i) == 0xffff )			{				addr_test(addr_base, i+1+1);				if ( 1== ERR )					return 1;				my_printf("sdram 0x%x\r\n", i+1+1);					return 0;			}			else				ERR = 1;		}		NorFlash_write(addr_base+i, 0xaaaa);		NorFlash_write(addr_base+i+2, 0x5555);		if ( NorFlash_read(addr_base+i) != 0xaaaa )			ERR = 1;		if ( 1==ERR) 		{			my_printf("sdram or data bus error\r\n");		}		i++;		i++;	} while (1);}							

⌨️ 快捷键说明

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