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

📄 int.c

📁 以TI 公司的OMAP5910为例
💻 C
字号:
//////////////////////////////////////////////////////////////////////////
//            Copyright (C) 2004, Eyoka @ Microunit
//                           All Rights Reserved
//________________________________________________________________________
//
// FILENAME:    sys.c
// PROJECT:     High-Resolution Video System On OMAP
// MODULE:      MPU System
// DESCRIPTION: MPU Interrupt Interface.
// TARGET CPU:  ARM-925T of OMAP5910
// VERSION:     0.3
//________________________________________________________________________
//
// REVISE HISTORY
// DATE         VERSION AUTHOR  DESCRIPTION
// 2004-11-08   0.3     Eyoka   Checked.
// 2004-11-02   0.2     Eyoka   Modified.
// 2004-11-01   0.1     Eyoka   Created.
//////////////////////////////////////////////////////////////////////////

#include "int.h"


/////////////////////////////////////////////////////////////////////
// INTERRUPT INTERFACE FUNCTIONS
/////////////////////////////////////////////////////////////////////

//___________________________________________________________________
// Function: INT_ClearAll
// Usage: Clear and mask all interrupts.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void INT_ClearAll(void)
{
	MPU_L1_ITR = 0x00000000;
	MPU_L1_MIR = 0xFFFFFFFF;
	MPU_L2_ITR = 0x00000000;
	MPU_L2_MIR = 0xFFFFFFFF;
}

//___________________________________________________________________
// Function: INT_L1_Enable
// Usage: Enable Single level-1 interrupt
// Parameters:
//	event			interrupt index.
// Return Values:	N/A
//___________________________________________________________________
//
void INT_L1_Enable(INT_L1_EVT_t event)
{
	MPU_L1_ITR &= ~(1<<event);
	MPU_L1_MIR &= ~(1<<event);
}

//___________________________________________________________________
// Function: INT_L1_Disable
// Usage: Disable Single level-1 interrupt
// Parameters:
//	event			interrupt index.
// Return Values:	N/A
//___________________________________________________________________
//
void INT_L1_Disable(INT_L1_EVT_t event)
{
	MPU_L1_MIR |= 1<<event;
}

//___________________________________________________________________
// Function: INT_NewIRQ
// Usage: Enable new IRG agreement.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void INT_NewIRQ(void)
{
	MPU_L1_CONTROL_REG |= 0x0001;
}

//___________________________________________________________________
// Function: INT_NewFIQ
// Usage: Enable new FIQ agreement.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void INT_NewFIQ(void)
{
	MPU_L1_CONTROL_REG |= 0x0002;
}

//___________________________________________________________________
// Function: INT_L1_SetupEntry
// Usage: Setup level-1 interrupt event handler.
// Parameters:
//	event			interrupt index.
//	priority		priority level
//	bLevel			TRUE for Low-Level, FALSE for Fall-Edge.
//	bFIQ			TRUE for FIQ, FALSE for IRQ.
// Return Values:	N/A
//___________________________________________________________________
//
void INT_L1_SetupEntry(INT_L1_EVT_t event,
								int priority, BOOL bLevel, BOOL bFIQ)
{
	MPU_L1_ILR(event) = (priority<<2) | (bLevel<<1) | bFIQ;
}



// the end
//////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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