gic.h

来自「最新版IAR FOR ARM(EWARM)5.11中的代码例子」· C头文件 代码 · 共 116 行

H
116
字号
/*************************************************************************
 *
 *    Used with ICCARM and AARM.
 *
 *    (c) Copyright IAR Systems 2007
 *
 *    File name   : gic.h
 *    Description : S3F4Ax GIC driver include file
 *
 *    History :
 *    1. Date        : August 1, 2007
 *       Author      : Stanimir Bonev
 *       Description : Create
 *
 *    $Revision: 18083 $
 **************************************************************************/
#include <samsung/ios3f4a0k.h>

#ifndef __GIC_H
#define __GIC_H


typedef enum _GIC_IntrType_t
{
  LOW_LEVEL_SENS = 0, NEG_EDGE_TRIG, HIGH_LEVEL_SENS, POS_EDGE_TRIG
} GIC_IntrType_t;


/*************************************************************************
 * Function Name: GIC_Init
 * Parameters: void *DefaultIntr, void *SpuriousIntr
 * Return: none
 *
 * Description: Init GIC
 *
 *************************************************************************/
void GIC_Init(void *DefaultIntr, void *SpuriousIntr);

/*************************************************************************
 * Function Name: GIC_InstallIntr
 * Parameters: Int32U IntNumber, void *HandlerAddr,
 *             Int32U Priority, GIC_IntrType_t Mode, Boolean Fiq
 * Return: Int32U
 *
 * Description: Install interrupt
 *
 *************************************************************************/
Int32U GIC_InstallIntr(Int32U IntNumber, void *HandlerAddr,
                       Int32U Priority, GIC_IntrType_t Mode, Boolean Fiq);

/*************************************************************************
 * Function Name: GIC_SpuriousIntr
 * Parameters: void* HandlerAddr
 * Return: Int32U
 *
 * Description: Set spurious interrupt handler
 *
 *************************************************************************/
Int32U GIC_SpuriousIntr(void *HandlerAddr);

/*************************************************************************
 * Function Name: GIC_IntrEnable
 * Parameters: Int32U IntNumber
 * Return: none
 *
 * Description: Enable interrupt
 *
 *************************************************************************/
void GIC_IntrEnable(Int32U IntNumber);

/*************************************************************************
 * Function Name: Install_Interrupt
 * Parameters: Int32U IntNumber
 * Return: none
 *
 * Description: Disable interrupt
 *
 *************************************************************************/
void GIC_IntrDisable(Int32U IntNumber);

/*************************************************************************
 * Function Name: GIC_SetIntr
 * Parameters: Int32U IntNumber
 * Return: none
 *
 * Description: Generate interrupt
 *
 *************************************************************************/
void GIC_SetIntr(Int32U IntNumber);

/*************************************************************************
 * Function Name: GIC_ClearIntr
 * Parameters: Int32U IntNumber
 * Return: none
 *
 * Description: Clear interrupt
 *
 *************************************************************************/
void GIC_ClearIntr(Int32U IntNumber);

/*************************************************************************
 * Function Name: Install_Interrupt
 * Parameters: Int32U IntNumber, void *HandlerAddr, Int32U Priority, Boolean Fiq
 * Return: none
 *
 * Description: Clear interrupt
 *
 *************************************************************************/
inline
void GIC_CompletIntr(void)
{
  GIC_EOICR = 0;
}

#endif // __GIC_H

⌨️ 快捷键说明

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