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

📄 lh7a404_vic_driver.h

📁 在sharp 404开发板的串口测试代码
💻 H
字号:
/***********************************************************************
 * $Workfile:   lh7a404_vic_driver.h  $
 * $Revision:   1.2  $
 * $Author:   WellsK  $
 * $Date:   Mar 29 2004 15:38:38  $
 *
 * Project: LH7A404 vectored interrupt driver
 *
 * Description:
 *     This file contains driver support for the LH7A404 vectored
 *     interrupt driver.
 *
 * Revision History:
 * $Log:   //smaicnt2/pvcs/VM/sharpmcu/archives/sharpmcu/software/csps/lh7a404/include/lh7a404_vic_driver.h-arc  $
 * 
 *    Rev 1.2   Mar 29 2004 15:38:38   WellsK
 * Added interrupt support for IAR toolchain.
 * 
 *    Rev 1.1   Sep 08 2003 09:33:40   WellsK
 * Added support to locate the interrupt vector table anywhere.
 * 
 *    Rev 1.0   Jun 30 2003 16:29:58   WellsK
 * Initial revision.
 * 
 * 
 ***********************************************************************
 * SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
 * OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
 * AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, 
 * SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY 
 * FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A 
 * SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
 * FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
 *
 * COPYRIGHT (C) 2001 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
 *     CAMAS, WA
 *********************************************************************/

#ifndef LH7A404_VIC_DRIVER_H
#define LH7A404_VIC_DRIVER_H

#ifdef __cplusplus
extern "C" {
#endif

#include "lh7a404_vic.h"

/* Interrupt and exception enumerations */
typedef enum
{
   RESET_VEC,
   UNDEFINED_INST_VEC,
   SWI_VEC,
   PREFETCH_ABORT_VEC,
   DATA_ABORT_VEC,
   IRQ_VEC,
   FIQ_VEC,
   VIC1_IRQ_VEC,
   VIC2_IRQ_VEC
} VECTOR_T;

/* Possible interrupt types */
typedef enum {VIC_IRQ, VIC_FIQ, VIC_VECTORED} VIC_INT_T;

/***********************************************************************
 * Vectored Interrupt driver functions
 **********************************************************************/

/* Initialize the vectored interrupt controller */
void vic_initialize(UNS_32 vectbladdr);

/* Install an new ARM interrupt or exception handler */
void vic_install_arm_handler(VECTOR_T handler_id,
                             PFV handler_ptr);

/* Install a function for a specific interrupt */
BOOL_32 vic_install_handler(VIC_INT_SOURCE_T source,
                            VIC_INT_T itype,
                            PFV func_ptr);

/* Enable or disable an interrupt */
void vic_int_enable(VIC_INT_SOURCE_T source,
                    BOOL_32 enable);

/* Check to see if an interrupt is pending */
BOOL_32 vic_int_pending(VIC_INT_SOURCE_T source);

/* Check to see if an interrupt is enabled */
BOOL_32 vic_int_enabled(VIC_INT_SOURCE_T source);

/* Clears the vectored interrupt (called after a vectored interrupt) */
void vic_clear_int(VIC_INT_SOURCE_T source);

/* Default IRQ interrupt dispatcher for VIC1 */
void vic1_irq_dispatcher(void);

/* Default IRQ interrupt dispatcher for VIC2 */
void vic2_irq_dispatcher(void);

#ifdef __ICCARM__ 
/* Default IRQ interrupt dispatcher */
void vic_arm_irq_dispatcher(void);
#endif

#ifdef __GNUC__
/* Default ARM core IRQ interrupt dispatcher */
void vic_arm_irq_dispatcher(void);
#endif

#ifdef __ghs__
/* Default ARM core IRQ interrupt dispatcher */
__interrupt void vic_arm_irq_dispatcher(void);
#endif

#ifdef __arm
/* Default ARM core IRQ interrupt dispatcher */
__irq void vic_arm_irq_dispatcher(void);
#endif

#ifdef __cplusplus
}
#endif

#endif /* LH7A404_VIC_DRIVER_H */

⌨️ 快捷键说明

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