📄 bsp.cpp
字号:
//==========================================================================================
//--文件名:
//--
//--功 能:
//--
//--作 者:陈 斌
//--
//--版本号:v1.00
//--
//--时 间:2006.12.31
//==========================================================================================
#ifndef BSP_C
#define BSP_C
#include <E_LAND.H>
#include <Board/BOARD.hPP>
#include "BSP.H"
extern "C"
{
void LowInit()
{
#ifdef __DEBUG_RAM
MEMMAP = 0x2;
#endif
#ifdef __DEBUG_FLASH
MEMMAP = 0x1;
#endif
#ifdef __IN_CHIP
MEMMAP = 0x1;
#endif
PLLCON = 1;
#if (VPB == 1 | VPB == 2 | VPB == 4)
VPBDIV = VPB&0x03;
#else
#error PLL分频器值(VPB),必须为1、2、4
#endif
#if Fcco < 156000000
#error Fcco必须大于156M
#endif
#if Fcco > 320000000
#error Fcco必须小于32M
#endif
PLLCFG = ((MSEL-1) | ((PSEL - 1) << 5));
PLLFEED = 0xaa;
PLLFEED = 0x55;
while((PLLSTAT & (1 << 10)) == 0);
PLLCON = 3;
PLLFEED = 0xaa;
PLLFEED = 0x55;
/* 设置存储器加速模块 */
MAMCR = 0;
#if Fcclk < 20000000
MAMTIM = 1;
#else
#if Fcclk < 40000000
MAMTIM = 2;
#else
MAMTIM = 1;
#endif
#endif
MAMCR = 2;
VICIntEnClr = 0xffffffff;
VICVectAddr = 0;
VICIntSelect = 0;
}
}
void BSP_Init()
{
U0LCR = 0x83;
U0DLL = 0x06;
U0LCR = 0x03;
U0FCR = 1|2|4;
OSBSPInitHook();
}
void OSTimeInit()
{
pLPC_T0->LPC_T0PR = 99;
pLPC_T0->LPC_T0MCR = 0x03;
pLPC_T0->LPC_T0MR0 = 110592/100;
pLPC_T0->LPC_T0TCR = 0x03;
pLPC_T0->LPC_T0TCR = 0x01;
VICIntSelect = 0x00;
VICVectCntl0 = 0x24;
VICVectAddr0 = (UINT32)OSTick;
VICIntEnable = 0X00000010;
}
void OSCloseTick()
{
VICIntEnClr = 0X00000010;
}
void EnIntnesting()
{
T0IR = 0x01;
VICVectAddr = 0x00;
}
void FIQ_Exception()
{
}
void COMout(char i)
{
static UINT16 j;
if(j == 16)
{
while((U0LSR & 0x40)==0){};
j=0;
}
j++;
U0THR = i;
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -