cpu.h
来自「ucosii和ucgui移植到LPC1788上」· C头文件 代码 · 共 460 行 · 第 1/2 页
H
460 行
void CPU_BitBandSet (CPU_ADDR addr,
CPU_INT08U bit_nbr);
void BSP_IntDisAll (void);
/*
*********************************************************************************************************
* INTERRUPT SERVICES
*********************************************************************************************************
*/
void BSP_IntInit (void);
void BSP_IntEn (CPU_DATA int_id);
void BSP_IntDis (CPU_DATA int_id);
void BSP_IntClr (CPU_DATA int_id);
void BSP_IntVectSet (CPU_DATA int_id,
CPU_FNCT_VOID isr);
void BSP_IntPrioSet (CPU_DATA int_id,
CPU_INT08U prio);
void WDT_IRQHandler (void);
void TIMER0_IRQHandler (void);
void TIMER1_IRQHandler (void);
void TIMER2_IRQHandler (void);
void TIMER3_IRQHandler (void);
void UART0_IRQHandler (void);
void UART1_IRQHandler (void);
void UART2_IRQHandler (void);
void UART3_IRQHandler (void);
void PWM1_IRQHandler (void);
void I2C0_IRQHandler (void);
void I2C1_IRQHandler (void);
void I2C2_IRQHandler (void);
void SPI_IRQHandler (void);
void SSP0_IRQHandler (void);
void SSP1_IRQHandler (void);
void PLL0_IRQHandler (void);
void RTC_IRQHandler (void);
void EINT0_IRQHandler (void);
void EINT1_IRQHandler (void);
void EINT2_IRQHandler (void);
void EINT3_IRQHandler (void);
void ADC_IRQHandler (void);
void BOD_IRQHandler (void);
void USB_IRQHandler (void);
void CAN_IRQHandler (void);
void DMA_IRQHandler (void);
void I2S_IRQHandler (void);
void ENET_IRQHandler (void);
void RIT_IRQHandler (void);
void MCPWM_IRQHandler (void);
void QEI_IRQHandler (void);
void PLL1_IRQHandler (void);
/*
*********************************************************************************************************
* INTERRUPT SOURCES
*********************************************************************************************************
*/
#define CPU_INT_STK_PTR 0
#define CPU_INT_RESET 1
#define CPU_INT_NMI 2
#define CPU_INT_HFAULT 3
#define CPU_INT_MEM 4
#define CPU_INT_BUSFAULT 5
#define CPU_INT_USAGEFAULT 6
#define CPU_INT_RSVD_07 7
#define CPU_INT_RSVD_08 8
#define CPU_INT_RSVD_09 9
#define CPU_INT_RSVD_10 10
#define CPU_INT_SVCALL 11
#define CPU_INT_DBGMON 12
#define CPU_INT_RSVD_13 13
#define CPU_INT_PENDSV 14
#define CPU_INT_SYSTICK 15
#define ID_WDT_IRQn 0 /*!< Watchdog Timer Interrupt */
#define ID_TIMER0_IRQn 1 /*!< Timer0 Interrupt */
#define ID_TIMER1_IRQn 2 /*!< Timer1 Interrupt */
#define ID_TIMER2_IRQn 3 /*!< Timer2 Interrupt */
#define ID_TIMER3_IRQn 4 /*!< Timer3 Interrupt */
#define ID_UART0_IRQn 5 /*!< UART0 Interrupt */
#define ID_UART1_IRQn 6 /*!< UART1 Interrupt */
#define ID_UART2_IRQn 7 /*!< UART2 Interrupt */
#define ID_UART3_IRQn 8 /*!< UART3 Interrupt */
#define ID_PWM1_IRQn 9 /*!< PWM1 Interrupt */
#define ID_I2C0_IRQn 10 /*!< I2C0 Interrupt */
#define ID_I2C1_IRQn 11 /*!< I2C1 Interrupt */
#define ID_I2C2_IRQn 12 /*!< I2C2 Interrupt */
#define ID_SPI_IRQn 13 /*!< SPI Interrupt */
#define ID_SSP0_IRQn 14 /*!< SSP0 Interrupt */
#define ID_SSP1_IRQn 15 /*!< SSP1 Interrupt */
#define ID_PLL0_IRQn 16 /*!< PLL0 Lock (Main PLL) Interrupt */
#define ID_RTC_IRQn 17 /*!< Real Time Clock Interrupt */
#define ID_EINT0_IRQn 18 /*!< External Interrupt 0 Interrupt */
#define ID_EINT1_IRQn 19 /*!< External Interrupt 1 Interrupt */
#define ID_EINT2_IRQn 20 /*!< External Interrupt 2 Interrupt */
#define ID_EINT3_IRQn 21 /*!< External Interrupt 3 Interrupt */
#define ID_ADC_IRQn 22 /*!< A/D Converter Interrupt */
#define ID_BOD_IRQn 23 /*!< Brown-Out Detect Interrupt */
#define ID_USB_IRQn 24 /*!< USB Interrupt */
#define ID_CAN_IRQn 25 /*!< CAN Interrupt */
#define ID_DMA_IRQn 26 /*!< General Purpose DMA Interrupt */
#define ID_I2S_IRQn 27 /*!< I2S Interrupt */
#define ID_ENET_IRQn 28 /*!< Ethernet Interrupt */
#define ID_RIT_IRQn 29 /*!< Repetitive Interrupt Timer Interrupt */
#define ID_MCPWM_IRQn 30 /*!< Motor Control PWM Interrupt */
#define ID_QEI_IRQn 31 /*!< Quadrature Encoder Interface Interrupt */
#define ID_PLL1_IRQn 32 /*!< PLL1 Lock (USB PLL) Interrupt */
#define ID_USBActivity_IRQn 33 /*!< USBActivity Interrupt */
#define ID_CANActivity_IRQn 34 /*!< USBActivity Interrupt */
#define ID_UART4_IRQn 35
#define ID_SSP2_IRQn 36
#define ID_LCD_IRQn 37
#define ID_GPIO_IRQn 38
#define ID_PWM0_IRQn 39
#define ID_EEPROM_IRQn 40
/*
*********************************************************************************************************
* CPU REGISTERS
*********************************************************************************************************
*/
#define CPU_REG_NVIC_NVIC (*((volatile CPU_INT32U *)(0xE000E004))) /* Int Ctrl'er Type Reg. */
#define CPU_REG_NVIC_NXP_CTRL (*((volatile CPU_INT32U *)(0xE000E010))) /* SysTick Ctrl & Status Reg. */
#define CPU_REG_NVIC_NXP_RELOAD (*((volatile CPU_INT32U *)(0xE000E014))) /* SysTick Reload Value Reg. */
#define CPU_REG_NVIC_NXP_CURRENT (*((volatile CPU_INT32U *)(0xE000E018))) /* SysTick Current Value Reg. */
#define CPU_REG_NVIC_NXP_CAL (*((volatile CPU_INT32U *)(0xE000E01C))) /* SysTick Calibration Value Reg. */
/* IRQ Set En Reg. */
#define CPU_REG_NVIC_SETEN(n) (*((volatile CPU_INT32U *)(0xE000E100 + (n) * 4)))
/* IRQ Clr En Reg. */
#define CPU_REG_NVIC_CLREN(n) (*((volatile CPU_INT32U *)(0xE000E180 + (n) * 4)))
/* IRQ Set Pending Reg. */
#define CPU_REG_NVIC_SETPEND(n) (*((volatile CPU_INT32U *)(0xE000E200 + (n) * 4)))
/* IRQ Clr Pending Reg. */
#define CPU_REG_NVIC_CLRPEND(n) (*((volatile CPU_INT32U *)(0xE000E280 + (n) * 4)))
/* IRQ Active Reg. */
#define CPU_REG_NVIC_ACTIVE(n) (*((volatile CPU_INT32U *)(0xE000E300 + (n) * 4)))
/* IRQ Prio Reg. */
#define CPU_REG_NVIC_PRIO(n) (*((volatile CPU_INT32U *)(0xE000E400 + (n) * 4)))
#define CPU_REG_NVIC_CPUID (*((volatile CPU_INT32U *)(0xE000ED00))) /* CPUID Base Reg. */
#define CPU_REG_NVIC_ICSR (*((volatile CPU_INT32U *)(0xE000ED04))) /* Int Ctrl State Reg. */
#define CPU_REG_NVIC_VTOR (*((volatile CPU_INT32U *)(0xE000ED08))) /* Vect Tbl Offset Reg. */
#define CPU_REG_NVIC_AIRCR (*((volatile CPU_INT32U *)(0xE000ED0C))) /* App Int/Reset Ctrl Reg. */
#define CPU_REG_NVIC_SCR (*((volatile CPU_INT32U *)(0xE000ED10))) /* System Ctrl Reg. */
#define CPU_REG_NVIC_CCR (*((volatile CPU_INT32U *)(0xE000ED14))) /* Cfg Ctrl Reg. */
#define CPU_REG_NVIC_SHPRI1 (*((volatile CPU_INT32U *)(0xE000ED18))) /* System Handlers 4 to 7 Prio. */
#define CPU_REG_NVIC_SHPRI2 (*((volatile CPU_INT32U *)(0xE000ED1C))) /* System Handlers 8 to 11 Prio. */
#define CPU_REG_NVIC_SHPRI3 (*((volatile CPU_INT32U *)(0xE000ED20))) /* System Handlers 12 to 15 Prio. */
#define CPU_REG_NVIC_SHCSR (*((volatile CPU_INT32U *)(0xE000ED24))) /* System Handler Ctrl & State Reg. */
#define CPU_REG_NVIC_CFSR (*((volatile CPU_INT32U *)(0xE000ED28))) /* Configurable Fault Status Reg. */
#define CPU_REG_NVIC_HFSR (*((volatile CPU_INT32U *)(0xE000ED2C))) /* Hard Fault Status Reg. */
#define CPU_REG_NVIC_DFSR (*((volatile CPU_INT32U *)(0xE000ED30))) /* Debug Fault Status Reg. */
#define CPU_REG_NVIC_MMFAR (*((volatile CPU_INT32U *)(0xE000ED34))) /* Mem Manage Addr Reg. */
#define CPU_REG_NVIC_BFAR (*((volatile CPU_INT32U *)(0xE000ED38))) /* Bus Fault Addr Reg. */
#define CPU_REG_NVIC_AFSR (*((volatile CPU_INT32U *)(0xE000ED3C))) /* Aux Fault Status Reg. */
#define CPU_REG_NVIC_PFR0 (*((volatile CPU_INT32U *)(0xE000ED40))) /* Processor Feature Reg 0. */
#define CPU_REG_NVIC_PFR1 (*((volatile CPU_INT32U *)(0xE000ED44))) /* Processor Feature Reg 1. */
#define CPU_REG_NVIC_DFR0 (*((volatile CPU_INT32U *)(0xE000ED48))) /* Debug Feature Reg 0. */
#define CPU_REG_NVIC_AFR0 (*((volatile CPU_INT32U *)(0xE000ED4C))) /* Aux Feature Reg 0. */
#define CPU_REG_NVIC_MMFR0 (*((volatile CPU_INT32U *)(0xE000ED50))) /* Memory Model Feature Reg 0. */
#define CPU_REG_NVIC_MMFR1 (*((volatile CPU_INT32U *)(0xE000ED54))) /* Memory Model Feature Reg 1. */
#define CPU_REG_NVIC_MMFR2 (*((volatile CPU_INT32U *)(0xE000ED58))) /* Memory Model Feature Reg 2. */
#define CPU_REG_NVIC_MMFR3 (*((volatile CPU_INT32U *)(0xE000ED5C))) /* Memory Model Feature Reg 3. */
#define CPU_REG_NVIC_ISAFR0 (*((volatile CPU_INT32U *)(0xE000ED60))) /* ISA Feature Reg 0. */
#define CPU_REG_NVIC_ISAFR1 (*((volatile CPU_INT32U *)(0xE000ED64))) /* ISA Feature Reg 1. */
#define CPU_REG_NVIC_ISAFR2 (*((volatile CPU_INT32U *)(0xE000ED68))) /* ISA Feature Reg 2. */
#define CPU_REG_NVIC_ISAFR3 (*((volatile CPU_INT32U *)(0xE000ED6C))) /* ISA Feature Reg 3. */
#define CPU_REG_NVIC_ISAFR4 (*((volatile CPU_INT32U *)(0xE000ED70))) /* ISA Feature Reg 4. */
#define CPU_REG_NVIC_SW_TRIG (*((volatile CPU_INT32U *)(0xE000EF00))) /* Software Trigger Int Reg. */
#define CPU_REG_MPU_TYPE (*((volatile CPU_INT32U *)(0xE000ED90))) /* MPU Type Reg. */
#define CPU_REG_MPU_CTRL (*((volatile CPU_INT32U *)(0xE000ED94))) /* MPU Ctrl Reg. */
#define CPU_REG_MPU_REG_NBR (*((volatile CPU_INT32U *)(0xE000ED98))) /* MPU Region Nbr Reg. */
#define CPU_REG_MPU_REG_BASE (*((volatile CPU_INT32U *)(0xE000ED9C))) /* MPU Region Base Addr Reg. */
#define CPU_REG_MPU_REG_ATTR (*((volatile CPU_INT32U *)(0xE000EDA0))) /* MPU Region Attrib & Size Reg. */
#define CPU_REG_DBG_CTRL (*((volatile CPU_INT32U *)(0xE000EDF0))) /* Debug Halting Ctrl & Status Reg. */
#define CPU_REG_DBG_SELECT (*((volatile CPU_INT32U *)(0xE000EDF4))) /* Debug Core Reg Selector Reg. */
#define CPU_REG_DBG_DATA (*((volatile CPU_INT32U *)(0xE000EDF8))) /* Debug Core Reg Data Reg. */
#define CPU_REG_DBG_INT (*((volatile CPU_INT32U *)(0xE000EDFC))) /* Debug Except & Monitor Ctrl Reg. */
#define CPU_REG_NVIC_SHCSR_USGFAULTENA 0x00040000
#define CPU_REG_NVIC_SHCSR_BUSFAULTENA 0x00020000
#define CPU_REG_NVIC_SHCSR_MEMFAULTENA 0x00010000
#define CPU_REG_NVIC_SHCSR_SVCALLPENDED 0x8000
#define CPU_REG_NVIC_SHCSR_BUSFAULTPENDED 0x4000
#define CPU_REG_NVIC_SHCSR_MEMFAULTPENDED 0x2000
#define CPU_REG_NVIC_SHCSR_USGFAULTPENDED 0x1000
#define CPU_REG_NVIC_SHCSR_SYSTICKACT 0x0800
#define CPU_REG_NVIC_SHCSR_PENDSVACT 0x0400
#define CPU_REG_NVIC_SHCSR_MONITORACT 0x0100
#define CPU_REG_NVIC_SHCSR_SVCALLACT 0x80
#define CPU_REG_NVIC_SHCSR_USGFAULTACT 0x08
#define CPU_REG_NVIC_SHCSR_BUSFAULTACT 0x02
#define CPU_REG_NVIC_SHCSR_MEMFAULTACT 0x01
/* ---------- SYSTICK CTRL & STATUS REG BITS ---------- */
#define CPU_REG_NVIC_NXP_CTRL_COUNTFLAG 0x00010000
#define CPU_REG_NVIC_NXP_CTRL_CLKSOURCE 0x04
#define CPU_REG_NVIC_NXP_CTRL_TICKINT 0x02
#define CPU_REG_NVIC_NXP_CTRL_ENABLE 0x01
/* -------- SYSTICK CALIBRATION VALUE REG BITS -------- */
#define CPU_REG_NVIC_NXP_CAL_NOREF 0x80000000
#define CPU_REG_NVIC_NXP_CAL_SKEW 0x40000000
#define DEF_OCTET_NBR_BITS 8
#define DEF_OCTET_MASK 0xFF
#define DEF_INT_16S_MIN_VAL -32768
#define DEF_INT_16S_MAX_VAL 32767
/*
*********************************************************************************************************
* MODULE END
*********************************************************************************************************
*/
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?