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 + -
显示快捷键?