www.pudn.com > DMAjian.rar > TARGET.C
/* ;************************************************************************************************************ ;* 北京精仪达盛科技有限公司 ;* 研 发 部 ;* ;* http://www.techshine.com ;* ;*--------------------------------------------- 文件信息 ---------------------------------------------------- ;* ;* 文件名称 : Main.c ;* 文件功能 : 该文件为S3C2410硬件平台主程序。 ;* 补充说明 : ;*-------------------------------------------- 最新版本信息 ------------------------------------------------- ;* 修改作者 : ARM开发小组 ;* 修改日期 : 2005/08/1 ;* 版本声明 : V1.0.1 ;*-------------------------------------------- 历史版本信息 ------------------------------------------------- ;* 文件作者 : ARM开发小组 ;* 创建日期 : 2004/04/20 ;* 版本声明 : v1.0.0 ;*----------------------------------------------------------------------------------------------------------- ;*----------------------------------------------------------------------------------------------------------- ;************************************************************************************************************ ;*/ #include#include #include "..\..\Application\inc\config.h" #include "Uart_driver.h" /* ************************************************************************************************************* - - 程序段说明 : 以下函数为各异常模式服务子程序。设成死循环是为调试用,一旦发生此类异常,程序便跳入异常模式服务 - 子程序,终止程序运行。 - ************************************************************************************************************* */ void HaltUndef(void) { Uart_Printf("Undefined instruction exception.\n"); while(1); } void HaltSwi(void) { Uart_Printf("SWI exception.\n"); while(1); } void HaltPabort(void) { Uart_Printf("Pabort exception.\n"); while(1); } void HaltDabort(void) { Uart_Printf("Dabort exception.\n"); while(1); } /* ************************************************************************************************************* - - 程序段说明 : 以下函数均为初始化函数 - ************************************************************************************************************* */ /* ************************************************************************************************************* - 函数名称 : Dma_ISR - 函数说明 : DMA中断服务程序 - 输入参数 : 无 - 输出参数 : 无 ************************************************************************************************************* */ void __irq Dma_ISR( void ) { //Uart_Printf("Dma_ISR"); rSRCPND |= BIT_DMA0; rINTPND |= BIT_DMA0; } /* ************************************************************************************************************* - 函数名称 : DmaINT_Init(void) - 函数说明 : DMA中断初始化 - 输入参数 : 无 - 输出参数 : 无 ************************************************************************************************************* */ void DmaINT_Init(void){ if ((rINTPND & BIT_DMA0)) { rSRCPND |= BIT_DMA0; } pISR_DMA0 = (int)Dma_ISR; rINTMSK &= ~(BIT_DMA0); //开中断; } /* ************************************************************************************************************* - 函数名称 : Exep_S3cint_Init(void) - 函数说明 : 异常及中断控制器的初始化 - 输入参数 : 无 - 输出参数 : 无 ************************************************************************************************************* */ void Isr_Init(void) { pISR_UNDEF = (unsigned)HaltUndef; pISR_SWI = (unsigned)HaltSwi; pISR_PABORT = (unsigned)HaltPabort; pISR_DABORT = (unsigned)HaltDabort; rINTMOD = 0x0; //All=IRQ mode rINTMSK = BIT_ALLMSK; //All interrupt is masked. rINTSUBMSK = BIT_SUB_ALLMSK; //All sub-interrupt is masked. <- April 01, 2002 SOP } /* ************************************************************************************************************* - 函数名称 : TargetInit(void) - 函数说明 : 目标板初始化程序,主函数中只需调用此函数,即可完成目标板的初始化 - 输入参数 : 无 - 输出参数 : 无 ************************************************************************************************************* */ void Target_Init(void) { MMU_Init(); ChangeClockDivider(1,1); // 1:2:4 ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz Isr_Init(); Port_Init(); Uart_Init(0,115200); Uart_Select(0); DmaINT_Init(); }