📄 int.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 + -