📄 system_init.c
字号:
#include "global.h"
#include "hal.h"
/*
* 1. Clock Generator
*/
void ClockGeneratorIni(int clk_pll_mult,int clk_pll_div)
{
*CLKMD_lz = CLOCK_IAI
+ CLOCK_IOB
+ CLOCK_PLL_MULT(clk_pll_mult) /* multiply */
+ CLOCK_PLL_DIV(clk_pll_div) /* divide */
+ CLOCK_PLL_ENABLE
+ CLOCK_BREAKLN
+ CLOCK_LOCK;
}
Int16 System_Init()
{
ClockGeneratorIni(4,0);
EMIF_module_init();
User_var_init();
USB_module_init();
return SUCCESS;
}
/*External memory bus interface Initialize*/
Int16 EMIF_module_init()
{
EMI_RST = 0x0001; //EMIF reset
INIT = 0x0001; //SDRAM reset
EGCR = 0x022e; //EMIF global control register
CE0_1 = 0x1fff; //CE0 is for CPLD
CE0_2 = 0x5fff;
CE0_3 = 0x0000;
CE1_1 = 0x1fff; //CE1 is for FLASH
CE1_2 = 0x5fff;
CE1_3 = 0x0000;
CE2_1 = 0x3fff; //CE2 is for 16bit-SDRAM
CE2_2 = 0x5fff;
CE2_3 = 0x0000;
CE3_1 = 0x3fff;
CE3_2 = 0x5fff;
CE3_3 = 0x0000;
SDC1 = 0x8100;//0xF148;//0x8100; //SDRAM Control Registers
SDPER = 0x0080;//0x0080;
SDC2 = 0x03FF;//0x03ff;
return SUCCESS;
}
/*Non-multiplexed general purpose I/O Initialize*/
Int16 GPIO_module_init()
{
ioport int *ptr;
ptr = (int*)0x3400;
*ptr = 0x00F0; /*Set GPIO pin4--pin7 as output*/
return SUCCESS;
}
Int16 Set_GPIO_Val(Int16 pin,Int16 val)
{
ioport int *ptr;
ptr = (int*)0x3401;
*ptr = (0x1<<pin)*val;
return SUCCESS;
}
/*Interrupt Initialize*/
Int16 IRQ_module_init()
{
return SUCCESS;
}
/*Multi-channel buffered serial port Initialize*/
Int16 MCBSP_module_init()
{
return SUCCESS;
}
/*PLL Initialize*/
// 0 <= MutiNum <=12
Int16 PLL_module_init(Int16 MutiNum)
{
CLKMD = 0x2002;
CLKMD |= (MutiNum<<7);
CLKMD |= 0x10; //enable PLL
return SUCCESS;
}
/*Timer peripheral Initialize*/
Int16 TIMER_module_init()
{
return SUCCESS;
}
/*USB peripheral Initialize*/
Int16 USB_module_init()
{
LoadUsbModle();
return SUCCESS;
}
/*User custom variable Initialize*/
Int16 User_var_init()
{
int i;
for(i=0;i<4;i++)
UsbRxBuf[i] = 0xFF;
return SUCCESS;
}
/*Delay T ms*/
void Delayms(unsigned int T)
{
unsigned int n;
for(n = 0; n < T; n++)
{
asm(" RPT #10000");
asm(" NOP");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -