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

📄 irq.h

📁 开放源码的嵌入式开发环境
💻 H
字号:
/* irq.h * *  This include file describe the data structure and the functions implemented *  by rtems to write interrupt handlers. * *  CopyRight (C) 1998 valette@crf.canon.fr * *  This code is heavilly inspired by the public specification of STREAM V2 *  that can be found at : * *      <http://www.chorus.com/Documentation/index.html> by following *  the STREAM API Specification Document link. * *  The license and distribution terms for this file may be *  found in found in the file LICENSE in this distribution or at *  http://www.rtems.com/license/LICENSE. * *  $Id: irq.h,v 1.11 2006/03/17 10:11:36 ralf Exp $ */#ifndef _IRQ_H_#define _IRQ_H_#ifdef __cplusplusextern "C" {#endif/* * Include some preprocessor value also used by assember code */#include <bsp/irq_asm.h>#include <rtems.h>#include <rtems/irq.h>/*-------------------------------------------------------------------------+| Constants+--------------------------------------------------------------------------*/    /* Base vector for our IRQ handlers. */#define BSP_IRQ_VECTOR_BASE		BSP_ASM_IRQ_VECTOR_BASE#define BSP_IRQ_LINES_NUMBER    	16#define BSP_LOWEST_OFFSET		0#define BSP_MAX_OFFSET		 	(BSP_IRQ_LINES_NUMBER - 1)    /*     * Interrupt offset in comparison to BSP_ASM_IRQ_VECTOR_BASE     * NB : 1) Interrupt vector number in IDT = offset + BSP_ASM_IRQ_VECTOR_BASE     * 	    2) The same name should be defined on all architecture     *	       so that handler connexion can be unchanged.     */#define BSP_PERIODIC_TIMER      0#define BSP_KEYBOARD          	1#define BSP_UART_COM2_IRQ	3#define BSP_UART_COM1_IRQ	4#define BSP_RT_TIMER1	      	8#define BSP_RT_TIMER3		10/* * Type definition for RTEMS managed interrupts */typedef unsigned short rtems_i8259_masks;extern  rtems_i8259_masks i8259s_cache;/*-------------------------------------------------------------------------+| Function Prototypes.+--------------------------------------------------------------------------*//* * ------------------------ Intel 8259 (or emulation) Mngt Routines ------- *//* * function to disable a particular irq at 8259 level. After calling * this function, even if the device asserts the interrupt line it will * not be propagated further to the processor */int BSP_irq_disable_at_i8259s        (const rtems_irq_number irqLine);/* * function to enable a particular irq at 8259 level. After calling * this function, if the device asserts the interrupt line it will * be propagated further to the processor */int BSP_irq_enable_at_i8259s		(const rtems_irq_number irqLine);/* * function to acknoledge a particular irq at 8259 level. After calling * this function, if a device asserts an enabled interrupt line it will * be propagated further to the processor. Mainly usefull for people * writting raw handlers as this is automagically done for rtems managed * handlers. */int BSP_irq_ack_at_i8259s           	(const rtems_irq_number irqLine);/* * function to check if a particular irq is enabled at 8259 level. After calling */int BSP_irq_enabled_at_i8259s        	(const rtems_irq_number irqLine);#ifdef __cplusplus}#endif#endif /* _IRQ_H_ */

⌨️ 快捷键说明

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