⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 target.c

📁 用三星的44b0控制的zlg7290的源码
💻 C
字号:
/*
;************************************************************************************************************
;*									    北京知天行科技有限公司
;*                                     	    研    发    部
;*
;*                                 	    http://www.zt-training.com
;*
;*--------------------------------------------- 文件信息 ----------------------------------------------------                                      
;*
;* 文件名称 : target.c	
;* 文件功能 : 该文件为S3C44B0硬件平台配置具体函数的初始化。
;* 补充说明 : 
;*-------------------------------------------- 最新版本信息 -------------------------------------------------
;* 修改作者 : ARM开发小组
;* 修改日期 : 2004/04/25
;* 版本声明 : V1.0.1
;*-------------------------------------------- 历史版本信息 -------------------------------------------------
;* 文件作者 : ARM开发小组
;* 创建日期 : 2004/04/20
;* 版本声明 : v1.0.0
;*-----------------------------------------------------------------------------------------------------------
;*-----------------------------------------------------------------------------------------------------------
;************************************************************************************************************
;*/

#include "..\INC\44b.h"
#include "..\INC\target.h"
#include "..\INC\44blib.h"
char flag=0;
/*
*************************************************************************************************************
-  
- 程序段说明 : 以下函数为各异常模式服务子程序。设成死循环是为调试用,一旦发生此类异常,程序便跳入异常模式服务
-              子程序,终止程序运行。
-
*************************************************************************************************************
*/
unsigned int bbb=1;
void HaltUndef(void)  																				 //未定义
{
    Uart_Printf(0,"the programm is haltUndefed");
    while(1);
}

void HaltSwi(void)  																				 //软中断
{
    Uart_Printf(0,"the programm is haltSWI");
    while(1);
}

void HaltPabort(void)  																			  //预取指中止
{
    Uart_Printf(0,"the programm is haltPaborted");
    while(1);
}

void HaltDabort(void)  																			   //数据中止
{
    Uart_Printf(0,"the programm is haltdaborted");
    while(1);
}

void HaltFIQ(void)  																				 //快中断
{
    Uart_Printf(0,"the programm is haltdFIQ");
    while(1);
}

/*
*************************************************************************************************************
-
-                                   程序段说明 : 以下函数均为初始化函数
-            
*************************************************************************************************************
*/

/*
*************************************************************************************************************
- 函数名称 : Exep_S3cint_Init(void)
- 函数说明 : 异常及中断控制器的初始化
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/
void Exep_S3cINT_Init(void)  
{ 
    int rr,qq;
    pISR_UNDEF  = (unsigned)HaltUndef;
    pISR_SWI    = (unsigned)HaltSwi;
    pISR_PABORT = (unsigned)HaltPabort;
    pISR_DABORT = (unsigned)HaltDabort;
    pISR_FIQ    = (unsigned)HaltFIQ;

    rINTCON = 0x1;           									// 所有中断均使用向量中断,打开 IRQ ,禁止 FIQ     
    rINTMOD = 0x00;	  												               // 所有模式配置为 IRQ 模式
    rINTMSK = 0x07ffffff;											                          // 屏蔽所有中断
    
    rr = rI_ISPC;
    rr = rINTPND;
    rr = rEXTINPND;
    rEXTINPND = 1;
    rI_ISPC = 0x3ffffff;                                        //中断清除;
    rr = rEXTINPND;
    qq = rINTPND;
}

/*
*************************************************************************************************************
- 函数名称 : Cache_Init(void)
- 函数说明 : S3C44B0内部缓存的初始化程序
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/														
void Cache_Init(void)
{
    rSYSCFG = SYSCFG_8KB;
    rNCACHBE0 = 0x20001c00;								                                      
    rNCACHBE1 = 0xe0003000;
}
/*
*************************************************************************************************************
- 函数名称 : void Timer1_init(void)
- 函数说明 : 定时器初始化程序
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/	
void Timer1_init(void)
{
    rTCFG0  = 0xC8;      // MCLK/200
    rTCFG1  = 0x20;      // MCLK/20/8
    rTCNTB1 = 0x61A8;    // 在40MHZ下,1秒钟的记数值rTCNTB1 = 0x61A8;
    rTCMPB1 = 0x00;
    rTCON   = 0x0200;    //禁止定时器1,手动加载
    rTCON   = 0x0900;    //启动定时器1,自动装载
}
/*
*************************************************************************************************************
- 函数名称 : void __irq Timer1_ISR( void )
- 函数说明 : 定时器中断服务子程序
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/	
void __irq Timer1_ISR( void )
{ 
	//rINTMSK  = (BIT_GLOBAL|BIT_TIMER1);    // 关中断
	bbb=2;
 	if (flag ==0)
 	{
 		rPDATB = 0x7ef;
 		flag = 1;
 	}
 	else
 	{
 		rPDATB = 0x7ff;
 		flag = 0;
 	}
   	rI_ISPC = BIT_TIMER1;
  //	rINTMSK  = ~(BIT_GLOBAL|BIT_TIMER1);   // 开中断
}
/*
*************************************************************************************************************
- 函数名称 : void Timer1INT_Init(void)
- 函数说明 : 定时器中断初始化程序
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/	
void Timer1INT_Init(void)													             //触摸屏硬件接口使能
{
     if ((rINTPND & BIT_TIMER1))
    {
    	rI_ISPC = BIT_TIMER1;
    }
    rINTMSK  = ~(BIT_GLOBAL|BIT_TIMER1);  //开中断;
    pISR_TIMER1 = (int)Timer1_ISR;
    
}
/*
*************************************************************************************************************
- 函数名称 : void Target_Init(void)
- 函数说明 : 目标板初始化程序
- 输入参数 : 无
- 输出参数 : 无
*************************************************************************************************************
*/	
void Target_Init(void)
{
   
    Port_Init();
    Exep_S3cINT_Init();
    Cache_Init();
   // Timer1_init();
   // Timer1INT_Init();
    StartInterrupt(); 		                              //开中断,在此之前都是关中断状态,在44binit.s中定义
}




⌨️ 快捷键说明

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