📄 ebi.c
字号:
//====================================================================
// File Name : Nand.c
// Function : S3C2440 8-bit interface Nand Test program(this program use K9k2g16.c).
// Date : May xx, 2003
// Version : 0.0
// History
// R0.0 (200305xx): Modified for 2440 from 2410. -> DonGo
//====================================================================
#include <stdio.h>
#include <stdlib.h>
#include "def.h"
#include "2413addr.h"
#include "ebi.h"
#include "mmucache.h"
void Test_Ebi_MultiBus_Access(void);
void * func_ebi_test[][2]=
{
// "0123456789012345" max 15磊 肺茄沥窍咯 comment窍技夸.
//EBI
(void *)Test_Ebi_MultiBus_Access, "EBI Multi Bus Access",
0,0
};
void Ch2_Ebi(void)
{
int i;
printf("\n====== EBI Test program start ======\n");
while(1)
{
i=0;
printf("\n\n");
while(1)
{ //display menu
printf("%2d:%s",i,func_ebi_test[i][1]);
i++;
if((int)(func_ebi_test[i][0])==0)
{
printf("\n");
break;
}
if((i%4)==0)
printf("\n");
}
printf("\nPress only Enter key to exit : ");
i = GetIntNum();
if(i==-1) break; // return.
if(i>=0 && (i<((sizeof(func_ebi_test)-1)/8)) ) // select and execute...
( (void (*)(void)) (func_ebi_test[i][0]) )();
}
printf("\n====== EBI Test program end ======\n");
}
void Test_Ebi_MultiBus_Access(void)
{
int i;
U32 *dataPt;
rBANK_CFG = (rBANK_CFG & ~(1<<4))|(0x3<<6); //bank6,7 = sdram, bank4=sram
rSMBCR4 = 0x303011;
rSSMCCR = 0x2;
rSMBCR4 |= (1<<16);
printf("BANKCFG:0x%x|CLKDIVN:0x%x|SMBCR4:0x%x|SSMCCR:0x%x\n", rBANK_CFG, rCLKDIVN, rSMBCR4, rSSMCCR);
/*
dataPt = (volatile unsigned int *)0x20000000;
for(i=0; i<0x1000; i++)
{
*dataPt++ = i;
}
dataPt = (volatile unsigned int *)0x20000000;
for(i=0; i<0x1000; i++)
{
if( *dataPt++ != i) printf("error is occured at 0x%x\n", i);
}
*/
SRAM_Write();
dataPt = (volatile unsigned int *)0x20000000;
for(i=0; i<0x80000/4; i++)
{
if( *dataPt++ != 0x20000000+i*4) printf("error is occured at 0x%x\n", i);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -