isr_sw.c

来自「以TI 公司的OMAP5910为例」· C语言 代码 · 共 73 行

C
73
字号
//////////////////////////////////////////////////////////////////////////
//            Copyright (C) 2004, Eyoka @ Microunit
//                           All Rights Reserved
//________________________________________________________________________
//
// FILENAME:    isr_sw.c
// PROJECT:     High-Resolution Video System On OMAP
// MODULE:      MPU Framework
// DESCRIPTION: Software Interrupt Handlers.(customized)
// TARGET CPU:  ARM-925T of OMAP5910
// VERSION:     0.2
//________________________________________________________________________
//
// REVISE HISTORY
// DATE         VERSION AUTHOR  DESCRIPTION
// 2004-11-08   0.2     Eyoka   Checked.
// 2004-11-03   0.1     Eyoka   Created.
//////////////////////////////////////////////////////////////////////////

#include "int.h"


/////////////////////////////////////////////////////////////////////
// Software Interrupt Handlers
/////////////////////////////////////////////////////////////////////

//___________________________________________________________________
//
// ISR_EnableIRQ: triggered by SWI-0, Mask/Unmask IRQ @CPSR.
//___________________________________________________________________
//
void ISR_EnableIRQ(BOOL bEnable)
{
	asm("	MRS		R4, SPSR");
	
	if(bEnable)
	{
		asm("	BIC		R4, R4, #0x80");
	}
	else
	{
		asm("	ORR		R4, R4, #0x80");
	}
	
	asm("	MSR		SPSR, R4");	
}

//___________________________________________________________________
//
// ISR_EnableFIQ: triggered by SWI-1, Mask/Unmask FIQ @CPSR.
//___________________________________________________________________
//
void ISR_EnableFIQ(BOOL bEnable)
{
	asm("	MRS		R4, SPSR");

	if(bEnable)
	{
		asm("	BIC		R4, R4, #0x40");
	}
	else
	{
		asm("	ORR		R4, R4, #0x40");
	}
	
	asm("	MSR		SPSR, R4");	
}



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

⌨️ 快捷键说明

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