URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [ARM7_STR71x_IAR/] [Library/] [include/] [71x_map.h] - Rev 609
Go to most recent revision | Compare with Previous | Blame | View Log
/******************** (C) COPYRIGHT 2003 STMicroelectronics ******************** * File Name : 71x_map.h * Author : MCD Application Team * Date First Issued : 05/16/2003 * Description : Peripherals memory mapping and registers structures ******************************************************************************** * History: * 30/11/2004 : V2.0 * 14/07/2004 : V1.3 * 01/01/2004 : V1.2 ******************************************************************************* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. *******************************************************************************/ #ifndef __71x_map_H #define __71x_map_H #ifndef EXT #define EXT extern #endif #include "71x_conf.h" #include "71x_type.h" /* IP registers structures */ typedef volatile struct { vu16 DATA0; vu16 EMPTY1[3]; vu16 DATA1; vu16 EMPTY2[3]; vu16 DATA2; vu16 EMPTY3[3]; vu16 DATA3; vu16 EMPTY4[3]; vu16 CSR; vu16 EMPTY5[7]; vu16 CPR; } ADC12_TypeDef; typedef volatile struct { vu32 CKDIS; vu32 SWRES; } APB_TypeDef; typedef volatile struct { vu16 RXR; vu16 EMPTY1; vu16 TXR; vu16 EMPTY2; vu16 CSR1; vu16 EMPTY3; vu16 CSR2; vu16 EMPTY4; vu16 CLK; } BSPI_TypeDef; typedef volatile struct { vu16 CRR; vu16 EMPTY1; vu16 CMR; vu16 EMPTY2; vu16 M1R; vu16 EMPTY3; vu16 M2R; vu16 EMPTY4; vu16 A1R; vu16 EMPTY5; vu16 A2R; vu16 EMPTY6; vu16 MCR; vu16 EMPTY7; vu16 DA1R; vu16 EMPTY8; vu16 DA2R; vu16 EMPTY9; vu16 DB1R; vu16 EMPTY10; vu16 DB2R; vu16 EMPTY11[27]; } CAN_MsgObj_TypeDef; typedef volatile struct { vu16 CR; vu16 EMPTY1; vu16 SR; vu16 EMPTY2; vu16 ERR; vu16 EMPTY3; vu16 BTR; vu16 EMPTY4; vu16 IDR; vu16 EMPTY5; vu16 TESTR; vu16 EMPTY6; vu16 BRPR; vu16 EMPTY7[3]; CAN_MsgObj_TypeDef sMsgObj[2]; vu16 EMPTY8[16]; vu16 TR1R; vu16 EMPTY9; vu16 TR2R; vu16 EMPTY10[13]; vu16 ND1R; vu16 EMPTY11; vu16 ND2R; vu16 EMPTY12[13]; vu16 IP1R; vu16 EMPTY13; vu16 IP2R; vu16 EMPTY14[13]; vu16 MV1R; vu16 EMPTY15; vu16 MV2R; vu16 EMPTY16; } CAN_TypeDef; typedef volatile struct { vu32 ICR; vu32 CICR; vu32 CIPR; vu32 EMPTY1[3]; vu32 IVR; vu32 FIR; vu32 IER; vu32 EMPTY2[7]; vu32 IPR; vu32 EMPTY3[7]; vu32 SIR[32]; } EIC_TypeDef; typedef volatile struct { vu16 BCON0; vu16 EMPTY1; vu16 BCON1; vu16 EMPTY2; vu16 BCON2; vu16 EMPTY3; vu16 BCON3; vu16 EMPTY4; } EMI_TypeDef; typedef volatile struct { vu32 CR0; vu32 CR1; vu32 DR0; vu32 DR1; vu32 AR; vu32 ER; } FLASHR_TypeDef; typedef volatile struct { vu32 NVWPAR; vu32 EMPTY; vu32 NVAPR0; vu32 NVAPR1; } FLASHPR_TypeDef; typedef volatile struct { vu16 PC0; vu16 EMPTY1; vu16 PC1; vu16 EMPTY2; vu16 PC2; vu16 EMPTY3; vu16 PD; vu16 EMPTY4; } GPIO_TypeDef; typedef volatile struct { vu8 CR; vu8 EMPTY1[3]; vu8 SR1; vu8 EMPTY2[3]; vu8 SR2; vu8 EMPTY3[3]; vu8 CCR; vu8 EMPTY4[3]; vu8 OAR1; vu8 EMPTY5[3]; vu8 OAR2; vu8 EMPTY6[3]; vu8 DR; vu8 EMPTY7[3]; vu8 ECCR; } I2C_TypeDef; typedef volatile struct { vu32 CCR; vu32 EMPTY1; vu32 CFR; vu32 EMPTY2[3]; vu32 PLL1CR; vu32 PER; vu32 SMR; } RCCU_TypeDef; typedef volatile struct { vu16 MDIVR; vu16 EMPTY1; vu16 PDIVR; vu16 EMPTY2; vu16 RSTR; vu16 EMPTY3; vu16 PLL2CR; vu16 EMPTY4; vu16 BOOTCR; vu16 EMPTY5; vu16 PWRCR; } PCU_TypeDef; typedef volatile struct { vu16 CRH; vu16 EMPTY1; vu16 CRL; vu16 EMPTY2; vu16 PRLH; vu16 EMPTY3; vu16 PRLL; vu16 EMPTY4; vu16 DIVH; vu16 EMPTY5; vu16 DIVL; vu16 EMPTY6; vu16 CNTH; vu16 EMPTY7; vu16 CNTL; vu16 EMPTY8; vu16 ALRH; vu16 EMPTY9; vu16 ALRL; } RTC_TypeDef; typedef volatile struct { vu16 ICAR; vu16 EMPTY1; vu16 ICBR; vu16 EMPTY2; vu16 OCAR; vu16 EMPTY3; vu16 OCBR; vu16 EMPTY4; vu16 CNTR; vu16 EMPTY5; vu16 CR1; vu16 EMPTY6; vu16 CR2; vu16 EMPTY7; vu16 SR; } TIM_TypeDef; typedef volatile struct { vu16 BR; vu16 EMPTY1; vu16 TxBUFR; vu16 EMPTY2; vu16 RxBUFR; vu16 EMPTY3; vu16 CR; vu16 EMPTY4; vu16 IER; vu16 EMPTY5; vu16 SR; vu16 EMPTY6; vu16 GTR; vu16 EMPTY7; vu16 TOR; vu16 EMPTY8; vu16 TxRSTR; vu16 EMPTY9; vu16 RxRSTR; } UART_TypeDef; typedef volatile struct { vu32 EP0R; vu32 EP1R; vu32 EP2R; vu32 EP3R; vu32 EP4R; vu32 EP5R; vu32 EP6R; vu32 EP7R; vu32 EP8R; vu32 EP9R; vu32 EP10R; vu32 EP11R; vu32 EP12R; vu32 EP13R; vu32 EP14R; vu32 EP15R; vu32 CNTR; vu32 ISTR; vu32 FNR; vu32 DADDR; vu32 BTABLE; } USB_TypeDef; typedef volatile struct { vu16 CR; vu16 EMPTY1; vu16 PR; vu16 EMPTY2; vu16 VR; vu16 EMPTY3; vu16 CNT; vu16 EMPTY4; vu16 SR; vu16 EMPTY5; vu16 MR; vu16 EMPTY6; vu16 KR; } WDG_TypeDef; typedef volatile struct { vu8 SR; vu8 EMPTY1[7]; vu8 CTRL; vu8 EMPTY2[3]; vu8 MRH; vu8 EMPTY3[3]; vu8 MRL; vu8 EMPTY4[3]; vu8 TRH; vu8 EMPTY5[3]; vu8 TRL; vu8 EMPTY6[3]; vu8 PRH; vu8 EMPTY7[3]; vu8 PRL; } XTI_TypeDef; /* IRQ vectors */ typedef volatile struct { vu32 T0TIMI_IRQHandler; vu32 FLASH_IRQHandler; vu32 RCCU_IRQHandler; vu32 RTC_IRQHandler; vu32 WDG_IRQHandler; vu32 XTI_IRQHandler; vu32 USBHP_IRQHandler; vu32 I2C0ITERR_IRQHandler; vu32 I2C1ITERR_IRQHandler; vu32 UART0_IRQHandler; vu32 UART1_IRQHandler; vu32 UART2_IRQHandler; vu32 UART3_IRQHandler; vu32 BSPI0_IRQHandler; vu32 BSPI1_IRQHandler; vu32 I2C0_IRQHandler; vu32 I2C1_IRQHandler; vu32 CAN_IRQHandler; vu32 ADC12_IRQHandler; vu32 T1TIMI_IRQHandler; vu32 T2TIMI_IRQHandler; vu32 T3TIMI_IRQHandler; vu32 EMPTY1[3]; vu32 HDLC_IRQHandler; vu32 USBLP_IRQHandler; vu32 EMPTY2[2]; vu32 T0TOI_IRQHandler; vu32 T0OC1_IRQHandler; vu32 T0OC2_IRQHandler; } IRQVectors_TypeDef; /*===================================================================*/ /* Memory mapping */ #define RAM_BASE 0x20000000 #define FLASHR_BASE 0x40100000 #define FLASHPR_BASE 0x4010DFB0 #define EXTMEM_BASE 0x60000000 #define RCCU_BASE 0xA0000000 #define PCU_BASE 0xA0000040 #define APB1_BASE 0xC0000000 #define APB2_BASE 0xE0000000 #define EIC_BASE 0xFFFFF800 #define I2C0_BASE (APB1_BASE + 0x1000) #define I2C1_BASE (APB1_BASE + 0x2000) #define UART0_BASE (APB1_BASE + 0x4000) #define UART1_BASE (APB1_BASE + 0x5000) #define UART2_BASE (APB1_BASE + 0x6000) #define UART3_BASE (APB1_BASE + 0x7000) #define CAN_BASE (APB1_BASE + 0x9000) #define BSPI0_BASE (APB1_BASE + 0xA000) #define BSPI1_BASE (APB1_BASE + 0xB000) #define USB_BASE (APB1_BASE + 0x8800) #define XTI_BASE (APB2_BASE + 0x101C) #define GPIO0_BASE (APB2_BASE + 0x3000) #define GPIO1_BASE (APB2_BASE + 0x4000) #define GPIO2_BASE (APB2_BASE + 0x5000) #define ADC12_BASE (APB2_BASE + 0x7000) #define TIM0_BASE (APB2_BASE + 0x9000) #define TIM1_BASE (APB2_BASE + 0xA000) #define TIM2_BASE (APB2_BASE + 0xB000) #define TIM3_BASE (APB2_BASE + 0xC000) #define RTC_BASE (APB2_BASE + 0xD000) #define WDG_BASE (APB2_BASE + 0xE000) #define EMI_BASE (EXTMEM_BASE + 0x0C000000) /*===================================================================*/ /* IP data access */ #ifndef DEBUG #define ADC12 ((ADC12_TypeDef *)ADC12_BASE) #define APB1 ((APB_TypeDef *)APB1_BASE) #define APB2 ((APB_TypeDef *)APB2_BASE+0x10) #define BSPI0 ((BSPI_TypeDef *)BSPI0_BASE) #define BSPI1 ((BSPI_TypeDef *)BSPI1_BASE) #define CAN ((CAN_TypeDef *)CAN_BASE) #define EIC ((EIC_TypeDef *)EIC_BASE) #define EMI ((EMI_TypeDef *)EMI_BASE) #define FLASHR ((FLASHR_TypeDef *)FLASHR_BASE) #define FLASHPR ((FLASHPR_TypeDef *)FLASHPR_BASE) #define GPIO0 ((GPIO_TypeDef *)GPIO0_BASE) #define GPIO1 ((GPIO_TypeDef *)GPIO1_BASE) #define GPIO2 ((GPIO_TypeDef *)GPIO2_BASE) #define I2C0 ((I2C_TypeDef *)I2C0_BASE) #define I2C1 ((I2C_TypeDef *)I2C1_BASE) #define PCU ((PCU_TypeDef *)PCU_BASE) #define RCCU ((RCCU_TypeDef *)RCCU_BASE) #define RTC ((RTC_TypeDef *)RTC_BASE) #define TIM0 ((TIM_TypeDef *)TIM0_BASE) #define TIM1 ((TIM_TypeDef *)TIM1_BASE) #define TIM2 ((TIM_TypeDef *)TIM2_BASE) #define TIM3 ((TIM_TypeDef *)TIM3_BASE) #define UART0 ((UART_TypeDef *)UART0_BASE) #define UART1 ((UART_TypeDef *)UART1_BASE) #define UART2 ((UART_TypeDef *)UART2_BASE) #define UART3 ((UART_TypeDef *)UART3_BASE) #define USB ((USB_TypeDef *)USB_BASE) #define WDG ((WDG_TypeDef *)WDG_BASE) #define XTI ((XTI_TypeDef *)XTI_BASE) #define IRQVectors ((IRQVectors_TypeDef *)&T0TIMI_Addr) #else /* DEBUG */ #ifdef _ADC12 EXT ADC12_TypeDef *ADC12; #endif #ifdef _APB #ifdef _APB1 EXT APB_TypeDef *APB1; #endif #ifdef _APB2 EXT APB_TypeDef *APB2; #endif #endif #ifdef _BSPI #ifdef _BSPI0 EXT BSPI_TypeDef *BSPI0; #endif #ifdef _BSPI1 EXT BSPI_TypeDef *BSPI1; #endif #endif #ifdef _CAN EXT CAN_TypeDef *CAN; #endif #ifdef _EIC EXT EIC_TypeDef *EIC; #endif #ifdef _EMI EXT EMI_TypeDef *EMI; #endif #ifdef _FLASH EXT FLASHR_TypeDef *FLASHR; EXT FLASHPR_TypeDef *FLASHPR; #endif #ifdef _GPIO #ifdef _GPIO0 EXT GPIO_TypeDef *GPIO0; #endif #ifdef _GPIO1 EXT GPIO_TypeDef *GPIO1; #endif #ifdef _GPIO2 EXT GPIO_TypeDef *GPIO2; #endif #endif #ifdef _I2C #ifdef _I2C0 EXT I2C_TypeDef *I2C0; #endif #ifdef _I2C1 EXT I2C_TypeDef *I2C1; #endif #endif #ifdef _PCU EXT PCU_TypeDef *PCU; #endif #ifdef _RCCU EXT RCCU_TypeDef *RCCU; #endif #ifdef _RTC EXT RTC_TypeDef *RTC; #endif #ifdef _TIM #ifdef _TIM0 EXT TIM_TypeDef *TIM0; #endif #ifdef _TIM1 EXT TIM_TypeDef *TIM1; #endif #ifdef _TIM2 EXT TIM_TypeDef *TIM2; #endif #ifdef _TIM3 EXT TIM_TypeDef *TIM3; #endif #endif #ifdef _UART #ifdef _UART0 EXT UART_TypeDef *UART0; #endif #ifdef _UART1 EXT UART_TypeDef *UART1; #endif #ifdef _UART2 EXT UART_TypeDef *UART2; #endif #ifdef _UART3 EXT UART_TypeDef *UART3; #endif #endif #ifdef _USB EXT USB_TypeDef *USB; #endif #ifdef _WDG EXT WDG_TypeDef *WDG; #endif #ifdef _XTI EXT XTI_TypeDef *XTI; #endif #ifdef _IRQVectors EXT IRQVectors_TypeDef *IRQVectors; #endif #endif /* DEBUG */ #endif /* __71x_map_H */ /******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/
Go to most recent revision | Compare with Previous | Blame | View Log