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

📄 irq_handlers.c

📁 Nand Flash (SAMSUNG_K9K1G08U0B) boot loader for i.Mx31 (freescale).
💻 C
字号:
#include <common/types.h>
#include <mx/mx21/mx21_register.h>
#include <mx/mx21/irq/irq_handlers.h>

#define VECTOR_TABLE 0xFFFFFF00

function_void_t vector_NIQ[64];
function_void_t vector_FIQ[64];

__irq void Undefined_Handler(void)
{

}

__irq void SWI_Handler(void)
{

}

__irq void Prefetch_Handler(void)
{

}

__irq void Abort_Handler(void)
{

}

__irq void NIQ_Handler(void)
{
	u16 VectNum;
	
	VectNum = (*(volatile u32 *)AITC_NIVECSR)>>16;
	vector_NIQ[VectNum]();
}

__irq void FIQ_Handler(void)
{
	u16 VectNum;
	
	VectNum = (*(volatile u32 *)AITC_FIVECSR);
	vector_FIQ[VectNum]();
}

s32 NIQ_HandlerInstall(function_void_t Handler, u32 VectNum)
{
	vector_NIQ[VectNum] = Handler;

    // Writing VECTOR to Interrupt Acceleration Vector Table
    *(volatile u32 *)(VECTOR_TABLE + 4*VectNum) = (u32)NIQ_Handler;

	NIQ_SetType(VectNum);

	return (s32)VectNum;
}

s32 FIQ_HandlerInstall(function_void_t Handler, u32 VectNum)
{
	vector_FIQ[VectNum]=Handler;

    // Writing VECTOR to Interrupt Acceleration Vector Table    
    *(volatile u32 *)(VECTOR_TABLE + 4*VectNum) = (u32)FIQ_Handler;

	FIQ_SetType(VectNum);

	return (s32)VectNum;
}

⌨️ 快捷键说明

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