<br />#define IN_TARGET<br />#include "config.h"<br /><br />void __irq IRQ_Exception(void)<br />{<br /> while(1); // 这一句替换为自己的代码<br />}<br />void FIQ_Exception(void)<br />{<br /> while(1); // 这一句替换为自己的代码<br />}<br /><br />/*********************************************************************************************************<br />** 函数名称: TargetInit<br />** 功能描述: 目标板初始化代码,在需要的地方调用,根据需要改变<br />** 输 入: 无<br />**<br />** 输 出: 无<br />** <br />** 全局变量: 无<br />** 调用模块: 无<br />**<br />** 作 者: 陈明计<br />** 日 期: 2004年2月2日<br />**-------------------------------------------------------------------------------------------------------<br />** 修改人:<br />** 日 期:<br />**------------------------------------------------------------------------------------------------------<br />********************************************************************************************************/<br /> void TargetInit(void)<br />{<br /> /* 添加自己的代码 */<br />}<br /><br />/*********************************************************************************************************<br />** 函数名称: TargetResetInit<br />** 功能描述: 调用main函数前目标板初始化代码,根据需要改变,不能删除<br /><br /><br /> void TargetResetInit(void)<br />{<br />#ifdef __DEBUG <br /> MEMMAP = 0x3; //remap<br />#endif<br /><br />#ifdef __OUT_CHIP <br /> MEMMAP = 0x3; //remap<br />#endif<br /><br />#ifdef __IN_CHIP <br /> MEMMAP = 0x1; //remap<br />#endif<br /><br />/* 设置系统各部分时钟 */<br /> PLLCON = 1;<br />#if (Fpclk / (Fcclk / 4)) == 1<br /> VPBDIV = 0;<br />#endif<br />#if (Fpclk / (Fcclk / 4)) == 2<br /> VPBDIV = 2;<br />#endif<br />#if (Fpclk / (Fcclk / 4)) == 4<br /> VPBDIV = 1;<br />#endif<br /><br />#if (Fcco / Fcclk) == 2<br /> PLLCFG = ((Fcclk / Fosc) - 1) | (0 << 5);<br />#endif<br />#if (Fcco / Fcclk) == 4<br /> PLLCFG = ((Fcclk / Fosc) - 1) | (1 << 5);<br />#endif<br />#if (Fcco / Fcclk) == 8<br /> PLLCFG = ((Fcclk / Fosc) - 1) | (2 << 5);<br />#endif<br />#if (Fcco / Fcclk) == 16<br /> PLLCFG = ((Fcclk / Fosc) - 1) | (3 << 5);<br />#endif<br /> PLLFEED = 0xaa;<br /> PLLFEED = 0x55;<br /> while((PLLSTAT & (1 << 10)) == 0);<br /> PLLCON = 3;<br /> PLLFEED = 0xaa;<br /> PLLFEED = 0x55;<br /> <br /> /* 设置存储器加速模块 */<br /> MAMCR = 0;<br />#if Fcclk < 20000000<br /> MAMTIM = 1;<br />#else<br />#if Fcclk < 40000000<br /> MAMTIM = 2;<br />#else<br /> MAMTIM = 3;<br />#endif<br />#endif<br /> MAMCR = 2;<br /> <br /> /* 初始化VIC */<br /> VICIntEnClr = 0xffffffff;<br /> VICVectAddr = 0;<br /> VICIntSelect = 0;<br /><br /><br />}<br /><br />
|