📄 irq.h
字号:
//========================================================================//
// 文件名: irq.h
// 作 者: xinqiang Zhang(小丑) (email: xinqiang@Mzdesign.com.cn)
// 日 期: 2008/01/03
// 描 述: VIC irq的一些初始文件所对应的头文件
//
// 参 考: Copyright(C) 2006, Philips Semiconductor irq
// 版 本:
// 2008/01/03 First version Mz Design
//========================================================================//
#ifndef __IRQ_H
#define __IRQ_H
#include "type.h"
#define VIC_BASE_ADDR 0xFFFFF000
// if nested interrupt is used, NEST_INTERRUPT needs to be set to 1, otherwise 0
#define NESTED_INTERRUPT 1
#define I_Bit 0x80
#define F_Bit 0x40
#define SYS32Mode 0x1F
#define IRQ32Mode 0x12
#define FIQ32Mode 0x11
#define WDT_INT 0
#define SWI_INT 1
#define ARM_CORE0_INT 2
#define ARM_CORE1_INT 3
#define TIMER0_INT 4
#define TIMER1_INT 5
#define UART0_INT 6
#define UART1_INT 7
#define PWM0_INT 8
#define I2C0_INT 9
#define SPI0_INT 10
#define SPI1_INT 11
#define PLL_INT 12
#define RTC_INT 13
#define EINT0_INT 14
#define EINT1_INT 15
#define EINT2_INT 16
#define EINT3_INT 17
#define ADC0_INT 18
#define I2C1_INT 19
#define BOD_INT 20
#define ADC1_INT 21
#define USB_INT 22
#define IRQ_SLOT_EN 0x20 // bit 5 in Vector control register
#define VIC_SIZE 16
#define VECT_ADDR_INDEX 0x100
#define VECT_CNTL_INDEX 0x200
/* Be aware that, from compiler to compiler, nested interrupt will have to
be handled differently. More details can be found in Philips LPC2000
family app-note AN10381 */
/* unlike Keil Compiler, don't save and restore registers into the stack
in RVD as the compiler does that for you. See RVD ARM compiler Inline and
embedded assemblers, "Rules for using __asm and asm keywords. */
// static DWORD sysreg; /* used as LR register */
#if NESTED_INTERRUPT
#define IENABLE __enable_irq()
#else
#define IENABLE ; /* do nothing */
#endif
#if NESTED_INTERRUPT
#define IDISABLE __disable_irq()
#else
#define IDISABLE ; /* do nothing */
#endif
void init_VIC( void );
DWORD install_irq( DWORD IntNumber, void *HandlerAddr );
DWORD uninstall_irq( DWORD IntNumber );
#endif
/******************************************************************************
** End Of File
******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -