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

📄 ictrl.h

📁 RTEMS (Real-Time Executive for Multiprocessor Systems) is a free open source real-time operating sys
💻 H
字号:
/*  ictrl.h * *  This file contains definitions and declarations for the  *  PowerPC 403 CPU built-in external interrupt controller * * *  Author: Thomas Doerfler <td@imd.m.isar.de> * *  COPYRIGHT (c) 1998 by IMD, Puchheim, Germany * *  To anyone who acknowledges that this file is provided "AS IS" *  without any express or implied warranty: *      permission to use, copy, modify, and distribute this file *      for any purpose is hereby granted without fee, provided that *      the above copyright notice and this notice appears in all *      copies, and that the name of IMD not be used in *      advertising or publicity pertaining to distribution of the *      software without specific, written prior permission. *      IMD makes no representations about the suitability *      of this software for any purpose. * *  Modifications for PPC405GP by Dennis Ehlin * */#ifndef _INCLUDE_ICTRL_h#define _INCLUDE_ICTRL_h#include <rtems.h>#include <rtems/system.h>#include <rtems/score/isr.h>#ifdef __cplusplusextern "C" {#endif/*  *  definitions for second level IRQ handler support *  External Interrupts via EXTERNAL/EISR  */#define PPC_IRQ_EXT_BASE        (PPC_IRQ_LAST+1)/* mask for external interrupt status in EXIER/EXISR register *//* note: critical interrupt is in these registers aswell */#ifndef ppc405#define PPC_EXI_MASK           0x0FFFFFFF#else /* ppc405 */#define PPC_EXI_MASK           0xFFFFFFFF#endif /* ppc405 */#ifndef ppc405#define PPC_IRQ_EXT_SPIR        (PPC_IRQ_EXT_BASE+4)#define PPC_IRQ_EXT_SPIT        (PPC_IRQ_EXT_BASE+5)#else /* ppc405 */#define PPC_IRQ_EXT_UART0       (PPC_IRQ_EXT_BASE+0)#define PPC_IRQ_EXT_UART1       (PPC_IRQ_EXT_BASE+1)#endif /* ppc405 */#define PPC_IRQ_EXT_JTAGR       (PPC_IRQ_EXT_BASE+6)#define PPC_IRQ_EXT_JTAGT       (PPC_IRQ_EXT_BASE+7)#define PPC_IRQ_EXT_DMA0        (PPC_IRQ_EXT_BASE+8)#define PPC_IRQ_EXT_DMA1        (PPC_IRQ_EXT_BASE+9)#define PPC_IRQ_EXT_DMA2        (PPC_IRQ_EXT_BASE+10)#define PPC_IRQ_EXT_DMA3        (PPC_IRQ_EXT_BASE+11)#define PPC_IRQ_EXT_0           (PPC_IRQ_EXT_BASE+27)#define PPC_IRQ_EXT_1           (PPC_IRQ_EXT_BASE+28)#define PPC_IRQ_EXT_2           (PPC_IRQ_EXT_BASE+29)#define PPC_IRQ_EXT_3           (PPC_IRQ_EXT_BASE+30)#define PPC_IRQ_EXT_4           (PPC_IRQ_EXT_BASE+31)#define PPC_IRQ_EXT_MAX         (32)#define VEC_TO_EXMSK(v)         (0x80000000 >> (v))/* * * install a user vector for one of the external interrupt sources  * */ rtems_status_codeictrl_set_vector(rtems_isr_entry   new_handler,		 unsigned32        vector,		 rtems_isr_entry   *old_handler);/* * activate the interrupt controller  */rtems_status_code ictrl_init(void);#ifdef __cplusplus}#endif#endif /* ! _INCLUDE_ICTRL_h *//* end of include file */

⌨️ 快捷键说明

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