📄 initial.c
字号:
/*-------------------------------------------------------------------
FILE NAME:
config.c
DESCRIPTION:
this file includes modules initialize function.
AUTHOR:
WYF
VERSION:
2005.1122.00
COMPANY:
DATANG MICROELECTRONICS TECHNOLOGY CO,.LTD
HISTORY:
2005.1122 Creat this file
...
--------------------------------------------------------------------*/
#include "ADSmx21_defs.h"
#pragma O0
void Pll_init(void)
{
int i;
/* FCLK:266M HCLK:133M */
/* PRESC:1 | USBDIV:6 | MPLL(in):32.768K | SPLL(in):32.768K
BCLKDIV:2 | OSC26M_DIV:1 */
CSCR = 0x17004607;
/* MPLL : 266M / FCLK: 266M / HCLK: 133M */
MPCTL0 = 0x007b1c73;
/* Restart MPLL */
CSCR |= 0x00200000;
/* Check if MPLL is locked */
do{
i++;i--;i++;i--;
i = MPCTL1 & 0x8000;
}while(i == 0);
/* SPLL : 288M / USB:48M */
SPCTL0 = 0x03b02227;
/* Restart SPLL */
CSCR |= 0x00400000;
/* Check if SPLL is locked */
do{
i++;i--;i++;i--;
i = SPCTL1 & 0x8000;
}while(i == 0);
/* Configure PERCLK1 to 133M */
PCDR1 &= ~0x3f;
PCDR1 |= 1;
/* Set ClockOut, used to check clock configuration */
CCSR = 0;
}
void Sdram_init(void)
{
/*********************************************************************
MACRO DEFINITIONS
*********************************************************************/
#define SDRAMC_CSD0_PRECHARGE_CMD 0x92120300 // 0x92120200
#define SDRAMC_CSD0_AUTOREFRESH_CMD 0xA2120300 // 0xA2120200
#define SDRAMC_CSD0_SET_MODE_CMD 0xB2120300 // 0xB2120200
#define SDRAMC_CSD0_SET_NORMAL_MODE_CMD 0x8212F339 // 0x8212C300
#define SDRAMC_CSD0_PRECHARGE_ALL (*(volatile unsigned *)0xC0200000)
#define SDRAMC_CSD0_AUTOREFRESH (*(volatile unsigned *)0xC0000000)
#define SDRAMC_CSD0_MODE_PARAM (*(volatile unsigned *)0xC0119800)
/* Disable the SDRAM controller first */
SDCTL0 = 0;
/* Set SDRAM ctrlr to precharge command */
SDCTL0 = SDRAMC_CSD0_PRECHARGE_CMD;
/* Issue precharge all Command */
SDRAMC_CSD0_PRECHARGE_ALL = SDRAMC_CSD0_PRECHARGE_CMD;
/* Set SDRAM ctrlr to auto refresh command */
SDCTL0 = SDRAMC_CSD0_AUTOREFRESH_CMD;
// Issue auto refresh Command & repeat 8 times
SDRAMC_CSD0_AUTOREFRESH = SDRAMC_CSD0_AUTOREFRESH_CMD;
SDRAMC_CSD0_AUTOREFRESH = SDRAMC_CSD0_AUTOREFRESH_CMD;
SDRAMC_CSD0_AUTOREFRESH = SDRAMC_CSD0_AUTOREFRESH_CMD;
SDRAMC_CSD0_AUTOREFRESH = SDRAMC_CSD0_AUTOREFRESH_CMD;
SDRAMC_CSD0_AUTOREFRESH = SDRAMC_CSD0_AUTOREFRESH_CMD;
SDRAMC_CSD0_AUTOREFRESH = SDRAMC_CSD0_AUTOREFRESH_CMD;
SDRAMC_CSD0_AUTOREFRESH = SDRAMC_CSD0_AUTOREFRESH_CMD;
SDRAMC_CSD0_AUTOREFRESH = SDRAMC_CSD0_AUTOREFRESH_CMD;
/* Set SDRAM ctrlr to Set Mode Register command */
SDCTL0 = SDRAMC_CSD0_SET_MODE_CMD;
/* Issue Mode Register Command */
SDRAMC_CSD0_MODE_PARAM = SDRAMC_CSD0_SET_MODE_CMD;
/* Set SDRAM ctrlr to normal mode */
SDCTL0 = SDRAMC_CSD0_SET_NORMAL_MODE_CMD;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -