关于ADSP的EBIU的寄存器设置问题

Nancy_9820 2013-09-09 11:58:34
#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的,其中的寄存器设置的参数是根据什么设置的?
...全文
123 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nancy_9820 2013-09-10
  • 打赏
  • 举报
回复
引用 楼主 lihongrui9820 的回复:
#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的,其中的寄存器设置的参数是根据什么设置的?
还有就是*pDEVICE_OE = 0xbf;这个语句在这个程序中的作用是什么?
whizer 2013-09-09
  • 打赏
  • 举报
回复
看ADSP芯片手册,手册会告诉你EIBU设置的每个bit的含义.

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧