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

📄 interrupt.c

📁 OKI 675050 hardware accelerator sample program
💻 C
字号:
/**********************************************************************************/
/*                                                                                */
/*    Copyright (C) 2006 Oki Electric Industry Co., LTD.                          */
/*                                                                                */
/*    Module Name    :  Intterrupt Source file                                    */
/*    File   Name    :  Intterrupt.c                                              */
/*    Revision       :  1.00                                                      */
/*    Date           :  2006/03/17                                                */
/**********************************************************************************/
#include "interrupt.h"


void exec_Handler(void);
void dma_Handler(void);


extern	ULONG	exec_finish_flag;   

PIRQ_HANDLER  IRQ_HANDLER_TABLE[MAXWORD];

/****************************************/
/*
	init_Irq(void)
										*/
/****************************************/
void init_Irq(void)
{
	int i;
	*(ULONG*)ILC0 = 0;
	*(ULONG*)ILC1 = 0;
	*(ULONG*)EXILCA = 0;
	*(ULONG*)IRQS = 0;
	*(ULONG*)CIL = 0x000000FE;

	for(i=0; i < IRQ_SIZE ; i++){
		IRQ_HANDLER_TABLE[i] = null_Handler;
	}

	return;
}



/****************************************/
/*
	reg_Irq_Handler(void)
										*/
/****************************************/
void reg_Irq_Handler(void)
{
	IRQ_HANDLER_TABLE[INT_EXEC] = exec_Handler;
	*(ULONG*)ILC1 |= ILC1_ILR13;

	return;
}

/****************************************/
/*
	irq_Handler(void)
										*/
/****************************************/
__irq void irq_Handler(void)
{
	ULONG irn = 0;

	irn = *(ULONG*)IRN;

	if(irn < 32){
		IRQ_HANDLER_TABLE[irn]();
	}

	*(ULONG*)CILCL = 0x00000000;


	return;
}


/****************************************/
/*
	exec_Handler(void)
										*/
/****************************************/
void exec_Handler(void)
{

	exec_finish_flag = 1;
	*(ULONG *)IRQSTATUS =1;

	return;
}


/****************************************/
/*
	null_Handler(void)
										*/
/****************************************/
void null_Handler(void)
{
	return;
}

⌨️ 快捷键说明

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