关于ADSP的EBIU的寄存器设置问题
#include <cdefBF533.h>
#define pDEVICE_OE (volatile unsigned short *)0x20320000
#define pLED_DAT (volatile unsigned short *)0x20340000
void Set_PLL(unsigned int pmsel,unsigned int pssel)//设置系统运行速度
{
unsigned int new_PLL_CTL;
*pPLL_DIV = pssel;
asm("ssync;");
new_PLL_CTL = (pmsel & 0x3f) << 9;
*pSIC_IWR |= 0xffffffff;
if (new_PLL_CTL != *pPLL_CTL)
{
*pPLL_CTL = new_PLL_CTL;
asm("ssync;");
asm("idle;");
}
}
void Init_EBIU(void)
{
*pEBIU_AMBCTL0 = 0x7bb07bb0;
*pEBIU_AMBCTL1 = 0xffc07bb0;
*pEBIU_AMGCTL = 0x000f;
}
void Init_SDRAM(void)
{
*pEBIU_SDRRC = 0x00000817;
*pEBIU_SDBCTL = 0x00000013;
*pEBIU_SDGCTL = 0x0091998d;
ssync();
}
void init_PF0_IN(void)
{
*pFIO_DIR &= ~PF0;//设置PF0为输入
*pFIO_INEN |= PF0;//输入使能
}
void main(void)
{
int i;
Set_PLL(16,3);//设置系统运行速度,25MHZ*16/3=133MHZ
Init_EBIU();
Init_SDRAM();
*pDEVICE_OE = 0xbf;
init_PF0_IN();
while(1)
{
i = *pFIO_FLAG_D;
printf("PF data is %d\n",i);
}
}
这个程序中的Init_EBIU是初始化EBIU的,其中的寄存器设置的参数是根据什么设置的?