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

📄 target.c

📁 基于S3C2410处理器的,ucos-ii实验源代码.
💻 C
字号:
#include "target.h"
#include "ucos_ii.h"               /* uC/OS interface */

extern OS_EVENT *Key_Mbox;
extern OS_EVENT *OK_Mbox;

//extern void LedSet(U32 led);
/********************************************************************************************************
 * ARMTargetInit																						*
 *																										*
 * Description: This function initialize an ARM Target board											*
 *																										*
 * Argument   : none    																				*
 ********************************************************************************************************/
void ARMTargetInit(void) 
{
	
	
//	Port_Init();					//初始化端口
	
	Delay( 200 ) ;		//delay some time
	LedSet( 0x0f );		//LED全亮
	Delay( 500 ) ;		//delay some time
	LedSet( 0x00 );		//LED全亮

	ARMInitInterrupts();			//初始化中断,设置中断服务程序
	
	Delay(0);						//调整延时
}


/********************************************************************************************************
 * ARMTargetStart																						*
 *																										*
 * Description: This function start the ARM target running												*
 *																										*
 * Argument   : none																					*
 ********************************************************************************************************/
void ARMTargetStart(void) {
	
	ARMInitTimers();				//配置时钟0相关寄存器
	//ARMInstallSystemTimer();		//时钟0中断使能
}

/********************************************************************************************************
 * 中断初始化                   																		*
 ********************************************************************************************************/
void ARMInitInterrupts(void)
{
	// Non-vectored,IRQ disable,FIQ disable    
//	rINTCON = 0x0 ;	  

	// All=IRQ mode
	rINTMOD = 0x0 ;	  

	// All interrupt is masked.
//	rINTMSK = BIT_GLOBAL;	  

	//set interrupt vector routine
//	pISR_RESET					//reserved
	pISR_UNDEF = (unsigned) DebugUNDEF;
	pISR_SWI = (unsigned) DebugSWI;
	pISR_PABORT = (unsigned) DebugPABORT;
	pISR_DABORT = (unsigned) DebugDABORT;
//	pISR_RESERVED = (unsigned) BreakPoint;		//not used
//	pISR_IRQ = (unsigned) 0;			//reserved
	pISR_FIQ = (unsigned) DebugFIQ;
	
	pISR_ADC= (unsigned) BreakPoint;
	pISR_RTC= (unsigned) BreakPoint;
//	pISR_UTXD1= (unsigned) BreakPoint;
//	pISR_UTXD0= (unsigned) BreakPoint;
/*	pISR_SIO= (unsigned) BreakPoint;
	pISR_IIC= (unsigned) BreakPoint;
	pISR_URXD1= (unsigned) BreakPoint;
	pISR_URXD0= (unsigned) BreakPoint;
	pISR_TIMER5= (unsigned) BreakPoint;
	pISR_TIMER4= (unsigned) BreakPoint;
	pISR_TIMER3= (unsigned) BreakPoint;
	pISR_TIMER2= (unsigned) BreakPoint;
	pISR_TIMER1= (unsigned) BreakPoint;
	pISR_TIMER0= (unsigned) BreakPoint;
	pISR_UERR01= (unsigned) BreakPoint;
	pISR_WDT= (unsigned) BreakPoint;
	pISR_BDMA1= (unsigned) BreakPoint;
	pISR_BDMA0= (unsigned) BreakPoint;
	pISR_ZDMA1= (unsigned) BreakPoint;
	pISR_ZDMA0= (unsigned) BreakPoint;
	pISR_TICK= (unsigned) BreakPoint;
	//pISR_EINT4567= (unsigned) OSEINT4567ISR;
	pISR_EINT4567=(unsigned)BreakPoint;
	pISR_EINT3= (unsigned) BreakPoint;
	pISR_EINT2= (unsigned) BreakPoint;
	pISR_EINT1= (unsigned) BreakPoint;
	pISR_EINT0= (unsigned) BreakPoint;

	pISR_TIMER0= (unsigned) OSTickISR;
*/	
	pISR_TIMER0= (unsigned) OSTickISR;
}

//*******************************************************************************************************
int ARMRequestSystemTimer(void *tick, const unsigned char *str) 
{
	return 1;
}

/********************************************************************************************************
 * Initialize timer that is used OS																		*
 ********************************************************************************************************/
void ARMInitTimers(void)
{
	//dead zone=0, pre0= 150
	rTCFG0= 0x00000095;
	//all interrupt, mux0= 1/16
	rTCFG1= 0x00000003;

	//set T0 count
	rTCNTB0= _CLOCK;

	//update T0
	rTCON= 0x00000002;
}

/********************************************************************************************************
 * start system timer0																					*
 ********************************************************************************************************/
void ARMStartTimer(void)
{
	rTCON = 0x9;		//autoreload and start
}

/********************************************************************************************************
 * enable the interrupt																					*
 ********************************************************************************************************/
void ARMInstallSystemTimer(void)
{
	
	EnableIrq(BIT_TIMER0);	//Default value=0x7ffffff
}

//*******************************************************************************************************
void BreakPoint(void)
{
	printf("Enter BreakPoint");

	while(1)
	{
		LedSet( 0xf ) ;		Delay( 1000 ) ;
		LedSet( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugUNDEF(void)
{
	printf("Enter DebugUNDEF");

	while(1)
	{
		LedSet( 0xf ) ;		Delay( 1000 ) ;
		LedSet( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugSWI(void)
{
	printf("Enter DebugSWI");

	while(1)
	{
		LedSet( 0xf ) ;		Delay( 1000 ) ;
		LedSet( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugPABORT(void)
{
	printf("Enter DebugPABORT");

	while(1)
	{
		LedSet( 0xf ) ;		Delay( 1000 ) ;
		LedSet( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugDABORT(void)
{
	printf("Enter DebugDABORT");

	while(1)
	{
		LedSet( 0xf ) ;		Delay( 1000 ) ;
		LedSet( 0x0 ) ;		Delay( 1000 ) ;
	}
}

//*******************************************************************************************************
void DebugFIQ(void)
{
	printf("Enter DebugFIQ");

	while(1)
	{
		LedSet( 0xf ) ;		Delay( 1000 ) ;
		LedSet( 0x0 ) ;		Delay( 1000 ) ;
	}
}
//*******************************************************************************************************

⌨️ 快捷键说明

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