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

📄 iolpc2148.h

📁 基于 Philips 公司的 ARM-7 使用之 uC/OS-II 作业系统,此例程是移植于 LPC-2148 上的应用,不同于一般的 Porting 其最主要是加入了支援 OS_View 观察器功能
💻 H
📖 第 1 页 / 共 4 页
字号:

/* RTC consolidated time register 1 */
typedef struct{
__REG32 DOM   : 5;
__REG32       : 3;
__REG32 MON   : 4;
__REG32       : 4;
__REG32 YEAR  :12;
__REG32       : 4;
} __ctime1_bits;

/* RTC consolidated time register 2 */
typedef struct{
__REG32 DOY  :12;
__REG32      :20;
} __ctime2_bits;

/* RTC second register */
typedef struct{
__REG32 SEC  : 6;
__REG32      :26;
} __sec_bits;

/* RTC minute register */
typedef struct{
__REG32 MIN  : 6;
__REG32      :26;
} __min_bits;

/* RTC hour register */
typedef struct{
__REG32 HOUR  : 5;
__REG32       :27;
} __hour_bits;

/* RTC day of month register */
typedef struct{
__REG32 DOM  : 5;
__REG32      :27;
} __dom_bits;

/* RTC day of week register */
typedef struct{
__REG32 DOW  : 3;
__REG32      :29;
} __dow_bits;

/* RTC day of year register */
typedef struct{
__REG32 DOY  : 9;
__REG32      :23;
} __doy_bits;

/* RTC month register */
typedef struct{
__REG32 MON  : 4;
__REG32      :28;
} __month_bits;

/* RTC year register */
typedef struct{
__REG32 YEAR  :12;
__REG32       :20;
} __year_bits;

/* RTC prescaler value, integer portion register */
typedef struct{
__REG32 VALUE  :13;
__REG32        :19;
} __preint_bits;

/* RTC prescaler value, fractional portion register */
typedef struct{
__REG32 VALUE  :15;
__REG32        :17;
} __prefrac_bits;

/* Watchdog mode register */
typedef struct{
__REG32 WDEN     : 1;
__REG32 WDRESET  : 1;
__REG32 WDTOF    : 1;
__REG32 WDINT    : 1;
__REG32          :28;
} __wdmod_bits;

/* Watchdog feed register */
typedef struct{
__REG32 FEED  : 8;
__REG32       :24;
} __wdfeed_bits;

/* USB - USB Interrupt Status Register */
typedef struct {
  __REG32 USB_INT_REQ_LP  : 1;
  __REG32 USB_INT_REQ_HP  : 1;
  __REG32 USB_INT_REQ_DMA : 1;
  __REG32                 :28;
  __REG32 EN_USB_INTS     : 1;
} __usbints_bits;

/* USB - Device Interrupt Status Register */
/* USB - Device Interrupt Enable Register */
/* USB - Device Interrupt Clear Register */
/* USB - Device Interrupt Set Register */
typedef struct {
  __REG32 FRAME     : 1;
  __REG32 EP_FAST   : 1;
  __REG32 EP_SLOW   : 1;
  __REG32 DEV_STAT  : 1;
  __REG32 CCEMTY    : 1;
  __REG32 CDFULL    : 1;
  __REG32 RxENDPKT  : 1;
  __REG32 TxENDPKT  : 1;
  __REG32 EP_RLZED  : 1;
  __REG32 ERR_INT   : 1;
  __REG32           :22;
} __devints_bits;

/* USB - Device Interrupt Priority Register */
typedef struct {
  __REG8  FRAME   : 1;
  __REG8  EP_FAST : 1;
  __REG8          : 6;
} __devintpri_bits;

/* USB - Endpoint Interrupt Status Register */
/* USB - Endpoint Interrupt Enable Register */
/* USB - Endpoint Interrupt Clear Register */
/* USB - Endpoint Interrupt Set Register */
/* USB - Endpoint Interrupt Priority Register */
typedef struct {
  __REG32 EP_0RX  : 1;
  __REG32 EP_0TX  : 1;
  __REG32 EP_1RX  : 1;
  __REG32 EP_1TX  : 1;
  __REG32 EP_2RX  : 1;
  __REG32 EP_2TX  : 1;
  __REG32 EP_3RX  : 1;
  __REG32 EP_3TX  : 1;
  __REG32 EP_4RX  : 1;
  __REG32 EP_4TX  : 1;
  __REG32 EP_5RX  : 1;
  __REG32 EP_5TX  : 1;
  __REG32 EP_6RX  : 1;
  __REG32 EP_6TX  : 1;
  __REG32 EP_7RX  : 1;
  __REG32 EP_7TX  : 1;
  __REG32 EP_8RX  : 1;
  __REG32 EP_8TX  : 1;
  __REG32 EP_9RX  : 1;
  __REG32 EP_9TX  : 1;
  __REG32 EP_10RX  : 1;
  __REG32 EP_10TX  : 1;
  __REG32 EP_11RX  : 1;
  __REG32 EP_11TX  : 1;
  __REG32 EP_12RX  : 1;
  __REG32 EP_12TX  : 1;
  __REG32 EP_13RX  : 1;
  __REG32 EP_13TX  : 1;
  __REG32 EP_14RX  : 1;
  __REG32 EP_14TX  : 1;
  __REG32 EP_15RX  : 1;
  __REG32 EP_15TX  : 1;
} __endpints_bits;

/* USB - Realize Enpoint Register */
typedef struct {
  __REG32 EP0 : 1;
  __REG32 EP1 : 1;
  __REG32 EP2 : 1;
  __REG32 EP3 : 1;
  __REG32 EP4 : 1;
  __REG32 EP5 : 1;
  __REG32 EP6 : 1;
  __REG32 EP7 : 1;
  __REG32 EP8 : 1;
  __REG32 EP9 : 1;
  __REG32 EP10 : 1;
  __REG32 EP11 : 1;
  __REG32 EP12 : 1;
  __REG32 EP13 : 1;
  __REG32 EP14 : 1;
  __REG32 EP15 : 1;
  __REG32 EP16 : 1;
  __REG32 EP17 : 1;
  __REG32 EP18 : 1;
  __REG32 EP19 : 1;
  __REG32 EP20 : 1;
  __REG32 EP21 : 1;
  __REG32 EP22 : 1;
  __REG32 EP23 : 1;
  __REG32 EP24 : 1;
  __REG32 EP25 : 1;
  __REG32 EP26 : 1;
  __REG32 EP27 : 1;
  __REG32 EP28 : 1;
  __REG32 EP29 : 1;
  __REG32 EP30 : 1;
  __REG32 EP31 : 1;
} __realizeendp_bits;

/* USB - Endpoint Index Register */
typedef struct {
  __REG32 PHY_ENDP  : 5;
  __REG32           :27;
} __endpind_bits;

/* USB - MaxPacketSize Register */
typedef struct {
  __REG32 MaxPacketSize :10;
  __REG32               :22;
} __maxpacksize_bits;

/* USB - Receive Packet Length Register */
typedef struct {
  __REG32 PKT_LNGTH :10;
  __REG32 DV        : 1;
  __REG32 PKT_RDY   : 1;
  __REG32           :20;
} __rcvepktlen_bits;

/* USB - Transmit Packet Length Register */
typedef struct {
  __REG32 PKT_LNGHT :10;
  __REG32           :22;
} __transmitpktlen_bits;

/* USB - Control Register */
typedef struct {
  __REG32 RD_EN         : 1;
  __REG32 WR_EN         : 1;
  __REG32 LOG_ENDPOINT  : 4;
  __REG32               :26;
} __usbctrl_bits;

/* USB - Command Code Register */
typedef struct {
  __REG32           : 8;
  __REG32 CMD_PHASE : 8;
  __REG32 CMD_CODE  : 8;
  __REG32           : 8;
} __cmdcode_bits;

/* USB - Command Data Register */
typedef struct {
  __REG32 CMD_DATA  : 8;
  __REG32           :24;
} __cmddata_bits;

/* USB - DMA Request Status Register */
/* USB - DMA Request Clear Register */
/* USB - DMA Request Set Regiser */
typedef struct {
  __REG32 EP0 : 1;
  __REG32 EP1 : 1;
  __REG32 EP2 : 1;
  __REG32 EP3 : 1;
  __REG32 EP4 : 1;
  __REG32 EP5 : 1;
  __REG32 EP6 : 1;
  __REG32 EP7 : 1;
  __REG32 EP8 : 1;
  __REG32 EP9 : 1;
  __REG32 EP10 : 1;
  __REG32 EP11 : 1;
  __REG32 EP12 : 1;
  __REG32 EP13 : 1;
  __REG32 EP14 : 1;
  __REG32 EP15 : 1;
  __REG32 EP16 : 1;
  __REG32 EP17 : 1;
  __REG32 EP18 : 1;
  __REG32 EP19 : 1;
  __REG32 EP20 : 1;
  __REG32 EP21 : 1;
  __REG32 EP22 : 1;
  __REG32 EP23 : 1;
  __REG32 EP24 : 1;
  __REG32 EP25 : 1;
  __REG32 EP26 : 1;
  __REG32 EP27 : 1;
  __REG32 EP28 : 1;
  __REG32 EP29 : 1;
  __REG32 EP30 : 1;
  __REG32 EP31 : 1;
} __dmarqstdiv_bits;

/* USB - UDCA Head Register */
typedef struct {
  __REG32             : 7;
  __REG32 UDCA_Header :25;
} __udcahead_bits;

/* USB - EP DMA Status Register */
/* USB - EP DMA Enable Register */
/* USB - EP DMA Disable Register */
typedef struct {
  __REG32 EP0 : 1;
  __REG32 EP1 : 1;
  __REG32 EP2 : 1;
  __REG32 EP3 : 1;
  __REG32 EP4 : 1;
  __REG32 EP5 : 1;
  __REG32 EP6 : 1;
  __REG32 EP7 : 1;
  __REG32 EP8 : 1;
  __REG32 EP9 : 1;
  __REG32 EP10 : 1;
  __REG32 EP11 : 1;
  __REG32 EP12 : 1;
  __REG32 EP13 : 1;
  __REG32 EP14 : 1;
  __REG32 EP15 : 1;
  __REG32 EP16 : 1;
  __REG32 EP17 : 1;
  __REG32 EP18 : 1;
  __REG32 EP19 : 1;
  __REG32 EP20 : 1;
  __REG32 EP21 : 1;
  __REG32 EP22 : 1;
  __REG32 EP23 : 1;
  __REG32 EP24 : 1;
  __REG32 EP25 : 1;
  __REG32 EP26 : 1;
  __REG32 EP27 : 1;
  __REG32 EP28 : 1;
  __REG32 EP29 : 1;
  __REG32 EP30 : 1;
  __REG32 EP31 : 1;
} __epdmadiv_bits;

/* USB - DMA Interrupt Status Register */
/* USB - DMA Interrupt Enable Register */
typedef struct {
  __REG32 End_of_Transfer_Interrupt : 1;
  __REG32 New_DD_Request_Interrupt  : 1;
  __REG32 System_Error_Interrupt    : 1;
  __REG32                           :29;
} __dmaintstat_bits;

/* USB - New DD Request Interrupt Status Register */
/* USB - New DD Request Interrupt Clear Register */
/* USB - New DD Request Interrupt Set Register */
/* USB - End Of Transfer Interrupt Status Register */
/* USB - End Of Transfer Interrupt Clear Register */
/* USB - End Of Transfer Interrupt Set Register */
/* USB - System Error Interrupt Status Register */
/* USB - System Error Interrupt Clear Register */
/* USB - System Error Interrupt Set Register */
typedef struct {
  __REG32 EP0 : 1;
  __REG32 EP1 : 1;
  __REG32 EP2 : 1;
  __REG32 EP3 : 1;
  __REG32 EP4 : 1;
  __REG32 EP5 : 1;
  __REG32 EP6 : 1;
  __REG32 EP7 : 1;
  __REG32 EP8 : 1;
  __REG32 EP9 : 1;
  __REG32 EP10 : 1;
  __REG32 EP11 : 1;
  __REG32 EP12 : 1;
  __REG32 EP13 : 1;
  __REG32 EP14 : 1;
  __REG32 EP15 : 1;
  __REG32 EP16 : 1;
  __REG32 EP17 : 1;
  __REG32 EP18 : 1;
  __REG32 EP19 : 1;
  __REG32 EP20 : 1;
  __REG32 EP21 : 1;
  __REG32 EP22 : 1;
  __REG32 EP23 : 1;
  __REG32 EP24 : 1;
  __REG32 EP25 : 1;
  __REG32 EP26 : 1;
  __REG32 EP27 : 1;
  __REG32 EP28 : 1;
  __REG32 EP29 : 1;
  __REG32 EP30 : 1;
  __REG32 EP31 : 1;
} __newdddiv_bits;

#endif    /* __IAR_SYSTEMS_ICC__ */

/* Declarations common to compiler and assembler **************************/

/***************************************************************************
 **
 ** System control block
 **
 ***************************************************************************/
__IO_REG32_BIT(EXTINT,          0xE01FC140,__READ_WRITE,__extint_bits);
__IO_REG32_BIT(EXTWAKE,         0xE01FC144,__READ_WRITE,__extwake_bits);
__IO_REG32_BIT(EXTMODE,         0xE01FC148,__READ_WRITE,__extmode_bits);
__IO_REG32_BIT(EXTPOLAR,        0xE01FC14C,__READ_WRITE,__extpolar_bits);
__IO_REG32_BIT(MEMMAP,          0xE01FC040,__READ_WRITE,__memmap_bits);
__IO_REG32_BIT(PLLCON,          0xE01FC080,__READ_WRITE,__pllcon_bits);
__IO_REG32_BIT(PLLCFG,          0xE01FC084,__READ_WRITE,__pllcfg_bits);
__IO_REG32_BIT(PLLSTAT,         0xE01FC088,__READ      ,__pllstat_bits);
__IO_REG32_BIT(PLLFEED,         0xE01FC08C,__WRITE     ,__pllfeed_bits);
__IO_REG32_BIT(PCON,            0xE01FC0C0,__READ_WRITE,__pcon_bits);
__IO_REG32_BIT(PCONP,           0xE01FC0C4,__READ_WRITE,__pconp_bits);
__IO_REG32_BIT(VPBDIV,          0xE01FC100,__READ_WRITE,__vpbdiv_bits);
__IO_REG32_BIT(RSIR,            0xE01FC180,__READ_WRITE,__rsir_bits);
__IO_REG32(    SCCSPR,          0xE01FC184,__READ_WRITE);


/***************************************************************************
 **
 ** MAM
 **
 ***************************************************************************/
__IO_REG32_BIT(MAMCR,  0xE01FC000,__READ_WRITE,__mamcr_bits);
__IO_REG32_BIT(MAMTIM, 0xE01FC004,__READ_WRITE,__mamtim_bits);


/***************************************************************************
 **
 ** VIC
 **
 ***************************************************************************/
__IO_REG32_BIT(VICIRQStatus,    0xFFFFF000,__READ      ,__vicint_bits);
__IO_REG32_BIT(VICFIQStatus,    0xFFFFF004,__READ      ,__vicint_bits);
__IO_REG32_BIT(VICRawIntr,      0xFFFFF008,__READ      ,__vicint_bits);
__IO_REG32_BIT(VICIntSelect,    0xFFFFF00C,__READ_WRITE,__vicint_bits);
__IO_REG32_BIT(VICIntEnable,    0xFFFFF010,__READ_WRITE,__vicint_bits);
__IO_REG32_BIT(VICIntEnClear,   0xFFFFF014,__WRITE     ,__vicint_bits);
__IO_REG32_BIT(VICSoftInt,      0xFFFFF018,__READ_WRITE,__vicint_bits);
__IO_REG32_BIT(VICSoftIntClear, 0xFFFFF01C,__WRITE     ,__vicint_bits);
__IO_REG32_BIT(VICProtection,   0xFFFFF020,__READ_WRITE,__vicprotection_bits);
__IO_REG32(    VICVectAddr,     0xFFFFF030,__READ_WRITE);
__IO_REG32(    VICDefVectAddr,  0xFFFFF034,__READ_WRITE);
__IO_REG32(    VICVectAddr0,    0xFFFFF100,__READ_WRITE);
__IO_REG32(    VICVectAddr1,    0xFFFFF104,__READ_WRITE);

⌨️ 快捷键说明

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