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

📄 iolpc3100.h

📁 uCOSII 在LPC3180上的移植代码
💻 H
📖 第 1 页 / 共 5 页
字号:
  __REG32 CAS               : 4;
  __REG32                   :21;
} __mpmcd_ras_cas_bits;

/* SDRAM Controller AHB Control Registers */
typedef struct{
  __REG32 E                 : 1;
  __REG32                   :31;
} __mpmcahb_ctrl_bits;

/* SDRAM Controller AHB Status Registers */
typedef struct{
  __REG32                   : 1;
  __REG32 S                 : 1;
  __REG32                   :30;
} __mpmcahb_status_bits;

/* SDRAM Controller AHB Timeout Registers */
typedef struct{
  __REG32 AHBTIMEOUT        :10;
  __REG32                   :22;
} __mpmcahb_time_bits;

/* DDR Calibration Delay Value */
typedef struct{
  __REG32 CAL_DLY           : 5;
  __REG32                   :27;
} __ddr_cal_dly_bits;

/* Ring Oscillator Control Register */
typedef struct{
  __REG32 COUNTER           :10;
  __REG32 START             : 1;
  __REG32                   :21;
} __ringosc_ctrl_bits;

/* Interrupt Enable Register for the Main Interrupt Controller */
typedef struct{
  __REG32 Sub1IRQn          : 1;
  __REG32 Sub2IRQn          : 1;
  __REG32                   : 3;
  __REG32 HSTIMER_INT       : 1;
  __REG32 WATCH_INT         : 1;
  __REG32 IIR3              : 1;
  __REG32 IIR4              : 1;
  __REG32 IIR5              : 1;
  __REG32 IIR6              : 1;
  __REG32 FLASH_INT         : 1;
  __REG32                   : 1;
  __REG32 SD1_INT           : 1;
  __REG32                   : 1;
  __REG32 SD0_INT           : 1;
  __REG32                   : 8;
  __REG32 IIR7              : 1;
  __REG32 IIR2              : 1;
  __REG32 IIR1              : 1;
  __REG32 MSTIMER_INT       : 1;
  __REG32 DMAINT            : 1;
  __REG32                   : 1;
  __REG32 Sub1FIQn          : 1;
  __REG32 Sub2FIQn          : 1;
} __mic_bits;

/* Interrupt Enable Register for Sub Interrupt Controller 1 */
typedef struct{
  __REG32                   : 1;
  __REG32 JTAG_COMM_TX      : 1;
  __REG32 JTAG_COMM_RX      : 1;
  __REG32                   : 1;
  __REG32 GPI_11            : 1;
  __REG32                   : 2;
  __REG32 ADC_INT           : 1;
  __REG32                   : 4;
  __REG32 SPI2_INT          : 1;
  __REG32 PLLUSB_INT        : 1;
  __REG32 PLLHCLK_INT       : 1;
  __REG32                   : 2;
  __REG32 PLL397_INT        : 1;
  __REG32 I2C_2_INT         : 1;
  __REG32 I2C_1_INT         : 1;
  __REG32 RTC_INT           : 1;
  __REG32                   : 1;
  __REG32 KEY_IRQ           : 1;
  __REG32 SPI1_INT          : 1;
  __REG32 SW_INT            : 1;
  __REG32 USB_otg_timer_int : 1;
  __REG32 USB_otg_atx_int_n : 1;
  __REG32 USB_host_int      : 1;
  __REG32 USB_dev_dma_in    : 1;
  __REG32 USB_dev_lp_int    : 1;
  __REG32 USB_dev_hp_int    : 1;
  __REG32 USB_i2c_int       : 1;
} __sic1_bits;

/* Interrupt Enable Register for Sub Interrupt Controller 2 */
typedef struct{
  __REG32 GPIO_00           : 1;
  __REG32 GPIO_01           : 1;
  __REG32 GPIO_02           : 1;
  __REG32 GPIO_03           : 1;
  __REG32 GPIO_04           : 1;
  __REG32 GPIO_05           : 1;
  __REG32 SPI2_DATIN        : 1;
  __REG32 U2_HCTS           : 1;
  __REG32                   : 1;
  __REG32 GPI_08            : 1;
  __REG32 GPI_09            : 1;
  __REG32 GPI_10            : 1;
  __REG32 U7_HCTS           : 1;
  __REG32                   : 2;
  __REG32 GPI_07            : 1;
  __REG32                   : 2;
  __REG32 SDIO_INT_N        : 1;
  __REG32 U5_RX             : 1;
  __REG32 SPI1_DATIN        : 1;
  __REG32                   : 1;
  __REG32 GPI_00            : 1;
  __REG32 GPI_01            : 1;
  __REG32 GPI_02            : 1;
  __REG32 GPI_03            : 1;
  __REG32 GPI_04            : 1;
  __REG32 GPI_05            : 1;
  __REG32 GPI_06            : 1;
  __REG32                   : 2;
  __REG32 SYSCLK_MUX        : 1;
} __sic2_bits;

/* Software Interrupt Register */
typedef struct{
  __REG32 SW_INT            : 1;
  __REG32 DATA              : 7;
  __REG32                   :24;
} __sw_int_bits;

/* MLC NAND ECC Auto Encode Register */
typedef struct{
  __REG32 AUTO_PRG_CMD      : 8;
  __REG32 AUTO_PRG_CMD_ENA  : 1;
  __REG32                   :23;
} __mlc_ecc_auto_enc_reg_bits;

/* MLC NAND Reset Overhead Buffer Pointer Register */
typedef struct{
  __REG32 ROBP              : 1;
  __REG32                   :31;
} __mlc_robp_bits;

/* MLC NAND Software Write Protection Address Low Register */
typedef struct{
  __REG32 LOWER             :24;
  __REG32                   : 8;
} __mlc_sw_wp_add_low_bits;

/* MLC NAND Software Write Protection Address High Register */
typedef struct{
  __REG32 UPPER             :24;
  __REG32                   : 8;
} __mlc_sw_wp_add_hi_bits;

/* MLC NAND Controller Configuration Register */
typedef struct{
  __REG32 IO_BUS_16BIT      : 1;
  __REG32 ADD_WORD_4        : 1;
  __REG32 LARGE_BLOCK       : 1;
  __REG32 WR_PROTECT        : 1;
  __REG32                   :28;
} __mlc_icr_bits;

/* MLC NAND Timing Register */
typedef struct{
  __REG32 WR_LOW            : 4;
  __REG32 WR_HIGH           : 4;
  __REG32 RD_LOW            : 4;
  __REG32 RD_HIGH           : 4;
  __REG32 NAND_TA           : 4;
  __REG32 BUSY_DELAY        : 4;
  __REG32 TCEA_DELAY        : 4;
  __REG32                   : 4;
} __mlc_time_bits;

/* MLC NAND Interrupt Mask Register */
typedef struct{
  __REG8  SW_WR_PROT_FAULT  : 1;
  __REG8  ECC_READY         : 1;
  __REG8  ECC_ERROR         : 1;
  __REG8  ECC_FAULT         : 1;
  __REG8  CONT_READY        : 1;
  __REG8  NAND_READY        : 1;
  __REG8                    : 2;
} __mlc_irq_bits;

/* MLC NAND Status Register */
typedef struct{
  __REG8  NAND_READY        : 1;
  __REG8  CONT_READY        : 1;
  __REG8  ECC_READY         : 1;
  __REG8  ERRORS_DETECTED   : 1;
  __REG8  ERROR_SYMB_NUMBER : 2;
  __REG8  DECODER_FAULT     : 1;
  __REG8                    : 1;
} __mlc_isr_bits;

/* MLC NAND Chip-Enable Host Control Register */
typedef struct{
  __REG32 nCE               : 1;
  __REG32                   :31;
} __mlc_ceh_bits;

/* SLC NAND Flash Data Register */
typedef struct{
  __REG16 DATA              : 8;
  __REG16                   : 8;
} __slc_data_bits;

/* SLC NAND Flash Control Register */
typedef struct{
  __REG32 DMA_START         : 1;
  __REG32 ECC_CLEAR         : 1;
  __REG32 SW_RESET          : 1;
  __REG32                   :29;
} __slc_ctrl_bits;

/* SLC NAND Flash Configuration Register */
typedef struct{
  __REG32 WIDTH             : 1;
  __REG32 DMA_DIR           : 1;
  __REG32 DMA_BURST         : 1;
  __REG32 ECC_EN            : 1;
  __REG32 DMA_ECC           : 1;
  __REG32 CE_LOW            : 1;
  __REG32                   :26;
} __slc_cfg_bits;

/* SLC NAND Flash Status Register */
typedef struct{
  __REG32 READY             : 1;
  __REG32 SLC_ACTIVE        : 1;
  __REG32 DMA_ACTIVE        : 1;
  __REG32                   :29;
} __slc_status_bits;

/* SLC NAND Flash Interrupt Status Register */
typedef struct{
  __REG32 INT_RDY_STAT      : 1;
  __REG32 INT_TC_STAT       : 1;
  __REG32                   :30;
} __slc_int_stat_bits;

/* SLC NAND Flash Interrupt Enable Register */
typedef struct{
  __REG32 INT_RDY_EN        : 1;
  __REG32 INT_TC_EN         : 1;
  __REG32                   :30;
} __slc_int_ena_bits;

/* SLC NAND Flash Interrupt Set Register */
typedef struct{
  __REG32 INT_RDY_SET       : 1;
  __REG32 INT_TC_SET        : 1;
  __REG32                   :30;
} __slc_isr_bits;

/* SLC NAND Flash Interrupt Clear Register */
typedef struct{
  __REG32 INT_RDY_CLR       : 1;
  __REG32 INT_TC_CLR        : 1;
  __REG32                   :30;
} __slc_icr_bits;

/* SLC NAND Flash Timing Arcs configuration Register */
typedef struct{
  __REG32 R_SETUP           : 4;
  __REG32 R_HOLD            : 4;
  __REG32 R_WIDTH           : 4;
  __REG32 R_RDY             : 4;
  __REG32 W_SETUP           : 4;
  __REG32 W_HOLD            : 4;
  __REG32 W_WIDTH           : 4;
  __REG32 W_RDY             : 4;
} __slc_tac_bits;

/* SLC NAND Flash Error Correction Code Register */
typedef struct{
  __REG32 CP                : 6;
  __REG32 LP                :16;
  __REG32                   :10;
} __slc_ecc_bits;

/* Input Pin State Register */
typedef struct{
  __REG32 GPI_00            : 1;
  __REG32 GPI_01            : 1;
  __REG32 GPI_02            : 1;
  __REG32 GPI_03            : 1;
  __REG32 GPI_04            : 1;
  __REG32 GPI_05            : 1;
  __REG32 GPI_06            : 1;
  __REG32 GPI_07            : 1;
  __REG32 GPI_08            : 1;
  __REG32 GPI_09            : 1;
  __REG32 GPIO_00           : 1;
  __REG32 GPIO_01           : 1;
  __REG32 GPIO_02           : 1;
  __REG32 GPIO_03           : 1;
  __REG32 GPIO_04           : 1;
  __REG32 U1_RX             : 1;
  __REG32 U2_HCTS           : 1;
  __REG32 U2_RX             : 1;
  __REG32 U3_RX             : 1;
  __REG32 GPI_10            : 1;
  __REG32 U5_RX             : 1;
  __REG32 U6_IRRX           : 1;
  __REG32 U7_HCTS           : 1;
  __REG32 U7_RX             : 1;
  __REG32 GPIO_05           : 1;
  __REG32 SPI1_DATIN        : 1;
  __REG32                   : 1;
  __REG32 SPI2_DATIN        : 1;
  __REG32 GPI_11            : 1;
  __REG32                   : 3;
} __pio_inp_state_bits;

/* Output Pin Registers */
typedef struct{
  __REG32 GPO_00            : 1;
  __REG32 GPO_01            : 1;
  __REG32 GPO_02            : 1;
  __REG32 GPO_03            : 1;
  __REG32 GPO_04            : 1;
  __REG32 GPO_05            : 1;
  __REG32 GPO_06            : 1;
  __REG32 GPO_07            : 1;
  __REG32 GPO_08            : 1;
  __REG32 GPO_09            : 1;
  __REG32 GPO_10            : 1;
  __REG32 GPO_11            : 1;
  __REG32 GPO_12            : 1;
  __REG32 GPO_13            : 1;
  __REG32 GPO_14            : 1;
  __REG32 GPO_15            : 1;
  __REG32 GPO_16            : 1;
  __REG32 GPO_17            : 1;
  __REG32 GPO_18            : 1;
  __REG32 GPO_19            : 1;
  __REG32 GPO_20            : 1;
  __REG32 GPO_21            : 1;
  __REG32 GPO_22            : 1;
  __REG32 GPO_23            : 1;
  __REG32                   : 1;
  __REG32 GPIO_00           : 1;
  __REG32 GPIO_01           : 1;
  __REG32 GPIO_02           : 1;
  __REG32 GPIO_03           : 1;
  __REG32 GPIO_04           : 1;
  __REG32 GPIO_05           : 1;
  __REG32                   : 1;
} __pio_outp_bits;

/* GPIO Direction Registers */
typedef struct{
  __REG32 RAM_D19           : 1;
  __REG32 RAM_D20           : 1;
  __REG32 RAM_D21           : 1;
  __REG32 RAM_D22           : 1;
  __REG32 RAM_D23           : 1;
  __REG32 RAM_D24           : 1;
  __REG32 RAM_D25           : 1;
  __REG32 RAM_D26           : 1;
  __REG32 RAM_D27           : 1;
  __REG32 RAM_D28           : 1;
  __REG32 RAM_D29           : 1;
  __REG32 RAM_D30           : 1;
  __REG32 RAM_D31           : 1;
  __REG32                   :12;
  __REG32 GPIO_00           : 1;
  __REG32 GPIO_01           : 1;
  __REG32 GPIO_02           : 1;
  __REG32 GPIO_03           : 1;
  __REG32 GPIO_04           : 1;
  __REG32 GPIO_05           : 1;
  __REG32                   : 1;
} __pio_dir_bits;

/* Register for SDRAM pins */
typedef struct{
  __REG32 RAM_D19           : 1;
  __REG32 RAM_D20           : 1;
  __REG32 RAM_D21           : 1;
  __REG32 RAM_D22           : 1;
  __REG32 RAM_D23           : 1;
  __REG32 RAM_D24           : 1;
  __REG32 RAM_D25           : 1;
  __REG32 RAM_D26           : 1;
  __REG32 RAM_D27           : 1;
  __REG32 RAM_D28           : 1;
  __REG32 RAM_D29           : 1;
  __REG32 RAM_D30           : 1;
  __REG32 RAM_D31           : 1;
  __REG32                   :19;
} __pio_sdp_bits;

/* PIO multiplexer control Register */
typedef struct{
  __REG32 GPIO_02_MUX_CTRL  : 1;
  __REG32 GPIO_03_MUX_CTRL  : 1;
  __REG32 GPIO_21_MUX_CTRL  : 1;
  __REG32 GPIO_SDRAM_SEL    : 1;
  __REG32                   :28;
} __pio_mux_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 */

⌨️ 快捷键说明

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