bsp.c

来自「ucos2.85移植LPC2104的接口和原代码」· C语言 代码 · 共 70 行

C
70
字号
#include "lpc2106.h"
#include "../ucos/ucos_ii.h"
#define Fosc	11059200
#define Fcclk   Fosc*4
#define Fcco    Fcclk*4
#define Fpclk	Fcclk/4

void TargetResetInit(void)
{
	INT32U i;
    INT32U *cp1;
    INT32U *cp2;
    extern void Vectors(void);
    
    cp1 = (INT32U *)Vectors;
    cp2 = (INT32U *)0x40000000;
    for (i = 0; i < 2 * 8; i++)
    {
        *cp2++ = *cp1++;
    }
    MEMMAP = 0x2;                  

    PLLCON = 0x01;
    VPBDIV = 0;
    PLLCFG = 0x23;
    PLLFEED = 0xaa;
    PLLFEED = 0x55;
    while((PLLSTAT & (0x400)) == 0);
    PLLCON = 0x03;
    PLLFEED = 0xaa;
    PLLFEED = 0x55;

    MAMCR = 0x02;
    MAMTIM = 0x03;

    VICIntEnClr = 0xffffffff;
    VICVectAddr = 0;
    VICIntSelect = 0;
    T0IR = 0xffffffff;
    T0TCR = 0x02;
}

void TargetInit(void)
{
	#if OS_CRITICAL_METHOD == 3
		OS_CPU_SR  cpu_sr;
	#endif
	
    OS_ENTER_CRITICAL();
    VICIntEnClr = 0xffffffff;
    VICIntEnable = 0x10;
    VICIntSelect = 0x10;
    
    T0IR = 0xffffffff;
    T0TC = 0x0;
    T0PR = 0x0;
    T0TCR = 0x01;
    T0MCR = 0x03;
    T0MR0 = 110592;
    
    OS_EXIT_CRITICAL();
}

void TimeTick(void)
{
	T0IR = 0x01;
    VICVectAddr = 0;            
    OSTimeTick();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?