- /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
- * File Name : stm32f10x_map.h
- * Author : MCD Application Team
- * Version : V2.0.2
- * Date : 07/11/2008
- * Description : This file contains all the peripheral register's definitions
- * and memory mapping.
- ********************************************************************************
- * THE PRESENT FIRMWARE 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 FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
- * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
- *******************************************************************************/
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __STM32F10x_MAP_H
- #define __STM32F10x_MAP_H
- #ifndef EXT
- #define EXT extern
- #endif /* EXT */
- /* Includes ------------------------------------------------------------------*/
- #include "stm32f10x_conf.h"
- #include "stm32f10x_type.h"
- #include "cortexm3_macro.h"
- /* Exported types ------------------------------------------------------------*/
- /******************************************************************************/
- /* Peripheral registers structures */
- /******************************************************************************/
- /*------------------------ Analog to Digital Converter -----------------------*/
- typedef struct
- {
- vu32 SR;
- vu32 CR1;
- vu32 CR2;
- vu32 SMPR1;
- vu32 SMPR2;
- vu32 JOFR1;
- vu32 JOFR2;
- vu32 JOFR3;
- vu32 JOFR4;
- vu32 HTR;
- vu32 LTR;
- vu32 SQR1;
- vu32 SQR2;
- vu32 SQR3;
- vu32 JSQR;
- vu32 JDR1;
- vu32 JDR2;
- vu32 JDR3;
- vu32 JDR4;
- vu32 DR;
- } ADC_TypeDef;
- /*------------------------ Backup Registers ----------------------------------*/
- typedef struct
- {
- u32 RESERVED0;
- vu16 DR1;
- u16 RESERVED1;
- vu16 DR2;
- u16 RESERVED2;
- vu16 DR3;
- u16 RESERVED3;
- vu16 DR4;
- u16 RESERVED4;
- vu16 DR5;
- u16 RESERVED5;
- vu16 DR6;
- u16 RESERVED6;
- vu16 DR7;
- u16 RESERVED7;
- vu16 DR8;
- u16 RESERVED8;
- vu16 DR9;
- u16 RESERVED9;
- vu16 DR10;
- u16 RESERVED10;
- vu16 RTCCR;
- u16 RESERVED11;
- vu16 CR;
- u16 RESERVED12;
- vu16 CSR;
- u16 RESERVED13[5];
- vu16 DR11;
- u16 RESERVED14;
- vu16 DR12;
- u16 RESERVED15;
- vu16 DR13;
- u16 RESERVED16;
- vu16 DR14;
- u16 RESERVED17;
- vu16 DR15;
- u16 RESERVED18;
- vu16 DR16;
- u16 RESERVED19;
- vu16 DR17;
- u16 RESERVED20;
- vu16 DR18;
- u16 RESERVED21;
- vu16 DR19;
- u16 RESERVED22;
- vu16 DR20;
- u16 RESERVED23;
- vu16 DR21;
- u16 RESERVED24;
- vu16 DR22;
- u16 RESERVED25;
- vu16 DR23;
- u16 RESERVED26;
- vu16 DR24;
- u16 RESERVED27;
- vu16 DR25;
- u16 RESERVED28;
- vu16 DR26;
- u16 RESERVED29;
- vu16 DR27;
- u16 RESERVED30;
- vu16 DR28;
- u16 RESERVED31;
- vu16 DR29;
- u16 RESERVED32;
- vu16 DR30;
- u16 RESERVED33;
- vu16 DR31;
- u16 RESERVED34;
- vu16 DR32;
- u16 RESERVED35;
- vu16 DR33;
- u16 RESERVED36;
- vu16 DR34;
- u16 RESERVED37;
- vu16 DR35;
- u16 RESERVED38;
- vu16 DR36;
- u16 RESERVED39;
- vu16 DR37;
- u16 RESERVED40;
- vu16 DR38;
- u16 RESERVED41;
- vu16 DR39;
- u16 RESERVED42;
- vu16 DR40;
- u16 RESERVED43;
- vu16 DR41;
- u16 RESERVED44;
- vu16 DR42;
- u16 RESERVED45;
- } BKP_TypeDef;
- /*------------------------ Controller Area Network ---------------------------*/
- typedef struct
- {
- vu32 TIR;
- vu32 TDTR;
- vu32 TDLR;
- vu32 TDHR;
- } CAN_TxMailBox_TypeDef;
- typedef struct
- {
- vu32 RIR;
- vu32 RDTR;
- vu32 RDLR;
- vu32 RDHR;
- } CAN_FIFOMailBox_TypeDef;
- typedef struct
- {
- vu32 FR1;
- vu32 FR2;
- } CAN_FilterRegister_TypeDef;
- typedef struct
- {
- vu32 MCR;
- vu32 MSR;
- vu32 TSR;
- vu32 RF0R;
- vu32 RF1R;
- vu32 IER;
- vu32 ESR;
- vu32 BTR;
- u32 RESERVED0[88];
- CAN_TxMailBox_TypeDef sTxMailBox[3];
- CAN_FIFOMailBox_TypeDef sFIFOMailBox[2];
- u32 RESERVED1[12];
- vu32 FMR;
- vu32 FM1R;
- u32 RESERVED2;
- vu32 FS1R;
- u32 RESERVED3;
- vu32 FFA1R;
- u32 RESERVED4;
- vu32 FA1R;
- u32 RESERVED5[8];
- CAN_FilterRegister_TypeDef sFilterRegister[14];
- } CAN_TypeDef;
- /*------------------------ CRC calculation unit ------------------------------*/
- typedef struct
- {
- vu32 DR;
- vu8 IDR;
- u8 RESERVED0;
- u16 RESERVED1;
- vu32 CR;
- } CRC_TypeDef;
- /*------------------------ Digital to Analog Converter -----------------------*/
- typedef struct
- {
- vu32 CR;
- vu32 SWTRIGR;
- vu32 DHR12R1;
- vu32 DHR12L1;
- vu32 DHR8R1;
- vu32 DHR12R2;
- vu32 DHR12L2;
- vu32 DHR8R2;
- vu32 DHR12RD;
- vu32 DHR12LD;
- vu32 DHR8RD;
- vu32 DOR1;
- vu32 DOR2;
- } DAC_TypeDef;
- /*------------------------ Debug MCU -----------------------------------------*/
- typedef struct
- {
- vu32 IDCODE;
- vu32 CR;
- }DBGMCU_TypeDef;
- /*------------------------ DMA Controller ------------------------------------*/
- typedef struct
- {
- vu32 CCR;
- vu32 CNDTR;
- vu32 CPAR;
- vu32 CMAR;
- } DMA_Channel_TypeDef;
- typedef struct
- {
- vu32 ISR;
- vu32 IFCR;
- } DMA_TypeDef;
- /*------------------------ External Interrupt/Event Controller ---------------*/
- typedef struct
- {
- vu32 IMR;
- vu32 EMR;
- vu32 RTSR;
- vu32 FTSR;
- vu32 SWIER;
- vu32 PR;
- } EXTI_TypeDef;
- /*------------------------ FLASH and Option Bytes Registers ------------------*/
- typedef struct
- {
- vu32 ACR;
- vu32 KEYR;
- vu32 OPTKEYR;
- vu32 SR;
- vu32 CR;
- vu32 AR;
- vu32 RESERVED;
- vu32 OBR;
- vu32 WRPR;
- } FLASH_TypeDef;
- typedef struct
- {
- vu16 RDP;
- vu16 USER;
- vu16 Data0;
- vu16 Data1;
- vu16 WRP0;
- vu16 WRP1;
- vu16 WRP2;
- vu16 WRP3;
- } OB_TypeDef;
- /*------------------------ Flexible Static Memory Controller -----------------*/
- typedef struct
- {
- vu32 BTCR[8];
- } FSMC_Bank1_TypeDef;
- typedef struct
- {
- vu32 BWTR[7];
- } FSMC_Bank1E_TypeDef;
- typedef struct
- {
- vu32 PCR2;
- vu32 SR2;
- vu32 PMEM2;
- vu32 PATT2;
- u32 RESERVED0;
- vu32 ECCR2;
- } FSMC_Bank2_TypeDef;
- typedef struct
- {
- vu32 PCR3;
- vu32 SR3;
- vu32 PMEM3;
- vu32 PATT3;
- u32 RESERVED0;
- vu32 ECCR3;
- } FSMC_Bank3_TypeDef;
- typedef struct
- {
- vu32 PCR4;
- vu32 SR4;
- vu32 PMEM4;
- vu32 PATT4;
- vu32 PIO4;
- } FSMC_Bank4_TypeDef;
- /*------------------------ General Purpose and Alternate Function IO ---------*/
- typedef struct
- {
- vu32 CRL;
- vu32 CRH;
- vu32 IDR;
- vu32 ODR;
- vu32 BSRR;
- vu32 BRR;
- vu32 LCKR;
- } GPIO_TypeDef;
- typedef struct
- {
- vu32 EVCR;
- vu32 MAPR;
- vu32 EXTICR[4];
- } AFIO_TypeDef;
- /*------------------------ Inter-integrated Circuit Interface ----------------*/
- typedef struct
- {
- vu16 CR1;
- u16 RESERVED0;
- vu16 CR2;
- u16 RESERVED1;
- vu16 OAR1;
- u16 RESERVED2;
- vu16 OAR2;
- u16 RESERVED3;
- vu16 DR;
- u16 RESERVED4;
- vu16 SR1;
- u16 RESERVED5;
- vu16 SR2;
- u16 RESERVED6;
- vu16 CCR;
- u16 RESERVED7;
- vu16 TRISE;
- u16 RESERVED8;
- } I2C_TypeDef;
- /*------------------------ Independent WATCHDOG ------------------------------*/
- typedef struct
- {
- vu32 KR;
- vu32 PR;
- vu32 RLR;
- vu32 SR;
- } IWDG_TypeDef;
- /*------------------------ Nested Vectored Interrupt Controller --------------*/
- typedef struct
- {
- vu32 ISER[2];
- u32 RESERVED0[30];
- vu32 ICER[2];
- u32 RSERVED1[30];
- vu32 ISPR[2];
- u32 RESERVED2[30];
- vu32 ICPR[2];
- u32 RESERVED3[30];
- vu32 IABR[2];
- u32 RESERVED4[62];
- vu32 IPR[15];
- } NVIC_TypeDef;
- typedef struct
- {
- vuc32 CPUID;
- vu32 ICSR;
- vu32 VTOR;
- vu32 AIRCR;
- vu32 SCR;
- vu32 CCR;
- vu32 SHPR[3];
- vu32 SHCSR;
- vu32 CFSR;
- vu32 HFSR;
- vu32 DFSR;
- vu32 MMFAR;
- vu32 BFAR;
- vu32 AFSR;
- } SCB_TypeDef;
- /*------------------------ Power Control -------------------------------------*/
- typedef struct
- {
- vu32 CR;
- vu32 CSR;
- } PWR_TypeDef;
- /*------------------------ Reset and Clock Control ---------------------------*/
- typedef struct
- {
- vu32 CR;
- vu32 CFGR;
- vu32 CIR;
- vu32 APB2RSTR;
- vu32 APB1RSTR;
- vu32 AHBENR;
- vu32 APB2ENR;
- vu32 APB1ENR;
- vu32 BDCR;
- vu32 CSR;
- } RCC_TypeDef;
- /*------------------------ Real-Time Clock -----------------------------------*/
- typedef struct
- {
- vu16 CRH;
- u16 RESERVED0;
- vu16 CRL;
- u16 RESERVED1;
- vu16 PRLH;
- u16 RESERVED2;
- vu16 PRLL;
- u16 RESERVED3;
- vu16 DIVH;
- u16 RESERVED4;
- vu16 DIVL;
- u16 RESERVED5;
- vu16 CNTH;
- u16 RESERVED6;
- vu16 CNTL;
- u16 RESERVED7;
- vu16 ALRH;
- u16 RESERVED8;
- vu16 ALRL;
- u16 RESERVED9;
- } RTC_TypeDef;
- /*------------------------ SD host Interface ---------------------------------*/
- typedef struct
- {
- vu32 POWER;
- vu32 CLKCR;
- vu32 ARG;
- vu32 CMD;
- vuc32 RESPCMD;
- vuc32 RESP1;
- vuc32 RESP2;
- vuc32 RESP3;
- vuc32 RESP4;
- vu32 DTIMER;
- vu32 DLEN;
- vu32 DCTRL;
- vuc32 DCOUNT;
- vuc32 STA;
- vu32 ICR;
- vu32 MASK;
- u32 RESERVED0[2];
- vuc32 FIFOCNT;
- u32 RESERVED1[13];
- vu32 FIFO;
- } SDIO_TypeDef;
- /*------------------------ Serial Peripheral Interface -----------------------*/
- typedef struct
- {
- vu16 CR1;
- u16 RESERVED0;
- vu16 CR2;
- u16 RESERVED1;
- vu16 SR;
- u16 RESERVED2;
- vu16 DR;
- u16 RESERVED3;
- vu16 CRCPR;
- u16 RESERVED4;
- vu16 RXCRCR;
- u16 RESERVED5;
- vu16 TXCRCR;
- u16 RESERVED6;
- vu16 I2SCFGR;
- u16 RESERVED7;
- vu16 I2SPR;
- u16 RESERVED8;
- } SPI_TypeDef;
- /*------------------------ SystemTick ----------------------------------------*/
- typedef struct
- {
- vu32 CTRL;
- vu32 LOAD;
- vu32 VAL;
- vuc32 CALIB;
- } SysTick_TypeDef;
- /*------------------------ TIM -----------------------------------------------*/
- typedef struct
- {
- vu16 CR1;
- u16 RESERVED0;
- vu16 CR2;
- u16 RESERVED1;
- vu16 SMCR;
- u16 RESERVED2;
- vu16 DIER;
- u16 RESERVED3;
- vu16 SR;
- u16 RESERVED4;
- vu16 EGR;
- u16 RESERVED5;
- vu16 CCMR1;
- u16 RESERVED6;
- vu16 CCMR2;
- u16 RESERVED7;
- vu16 CCER;
- u16 RESERVED8;
- vu16 CNT;
- u16 RESERVED9;
- vu16 PSC;
- u16 RESERVED10;
- vu16 ARR;
- u16 RESERVED11;
- vu16 RCR;
- u16 RESERVED12;
- vu16 CCR1;
- u16 RESERVED13;
- vu16 CCR2;
- u16 RESERVED14;
- vu16 CCR3;
- u16 RESERVED15;
- vu16 CCR4;
- u16 RESERVED16;
- vu16 BDTR;
- u16 RESERVED17;
- vu16 DCR;
- u16 RESERVED18;
- vu16 DMAR;
- u16 RESERVED19;
- } TIM_TypeDef;
- /*----------------- Universal Synchronous Asynchronous Receiver Transmitter --*/
- typedef struct
- {
- vu16 SR;
- u16 RESERVED0;
- vu16 DR;
- u16 RESERVED1;
- vu16 BRR;
- u16 RESERVED2;
- vu16 CR1;
- u16 RESERVED3;
- vu16 CR2;
- u16 RESERVED4;
- vu16 CR3;
- u16 RESERVED5;
- vu16 GTPR;
- u16 RESERVED6;
- } USART_TypeDef;
- /*------------------------ Window WATCHDOG -----------------------------------*/
- typedef struct
- {
- vu32 CR;
- vu32 CFR;
- vu32 SR;
- } WWDG_TypeDef;
- /******************************************************************************/
- /* Peripheral memory map */
- /******************************************************************************/
- /* Peripheral and SRAM base address in the alias region */
- #define PERIPH_BB_BASE ((u32)0x42000000)
- #define SRAM_BB_BASE ((u32)0x22000000)
- /* Peripheral and SRAM base address in the bit-band region */
- #define SRAM_BASE ((u32)0x20000000)
- #define PERIPH_BASE ((u32)0x40000000)
- /* FSMC registers base address */
- #define FSMC_R_BASE ((u32)0xA0000000)
- /* Peripheral memory map */
- #define APB1PERIPH_BASE PERIPH_BASE
- #define APB2PERIPH_BASE (PERIPH_BASE + 0x10000)
- #define AHBPERIPH_BASE (PERIPH_BASE + 0x20000)
- #define TIM2_BASE (APB1PERIPH_BASE + 0x0000)
- #define TIM3_BASE (APB1PERIPH_BASE + 0x0400)
- #define TIM4_BASE (APB1PERIPH_BASE + 0x0800)
- #define TIM5_BASE (APB1PERIPH_BASE + 0x0C00)
- #define TIM6_BASE (APB1PERIPH_BASE + 0x1000)
- #define TIM7_BASE (APB1PERIPH_BASE + 0x1400)
- #define RTC_BASE (APB1PERIPH_BASE + 0x2800)
- #define WWDG_BASE (APB1PERIPH_BASE + 0x2C00)
- #define IWDG_BASE (APB1PERIPH_BASE + 0x3000)
- #define SPI2_BASE (APB1PERIPH_BASE + 0x3800)
- #define SPI3_BASE (APB1PERIPH_BASE + 0x3C00)
- #define USART2_BASE (APB1PERIPH_BASE + 0x4400)
- #define USART3_BASE (APB1PERIPH_BASE + 0x4800)
- #define UART4_BASE (APB1PERIPH_BASE + 0x4C00)
- #define UART5_BASE (APB1PERIPH_BASE + 0x5000)
- #define I2C1_BASE (APB1PERIPH_BASE + 0x5400)
- #define I2C2_BASE (APB1PERIPH_BASE + 0x5800)
- #define CAN_BASE (APB1PERIPH_BASE + 0x6400)
- #define BKP_BASE (APB1PERIPH_BASE + 0x6C00)
- #define PWR_BASE (APB1PERIPH_BASE + 0x7000)
- #define DAC_BASE (APB1PERIPH_BASE + 0x7400)
- #define AFIO_BASE (APB2PERIPH_BASE + 0x0000)
- #define EXTI_BASE (APB2PERIPH_BASE + 0x0400)
- #define GPIOA_BASE (APB2PERIPH_BASE + 0x0800)
- #define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00)
- #define GPIOC_BASE (APB2PERIPH_BASE + 0x1000)
- #define GPIOD_BASE (APB2PERIPH_BASE + 0x1400)
- #define GPIOE_BASE (APB2PERIPH_BASE + 0x1800)
- #define GPIOF_BASE (APB2PERIPH_BASE + 0x1C00)
- #define GPIOG_BASE (APB2PERIPH_BASE + 0x2000)
- #define ADC1_BASE (APB2PERIPH_BASE + 0x2400)
- #define ADC2_BASE (APB2PERIPH_BASE + 0x2800)
- #define TIM1_BASE (APB2PERIPH_BASE + 0x2C00)
- #define SPI1_BASE (APB2PERIPH_BASE + 0x3000)
- #define TIM8_BASE (APB2PERIPH_BASE + 0x3400)
- #define USART1_BASE (APB2PERIPH_BASE + 0x3800)
- #define ADC3_BASE (APB2PERIPH_BASE + 0x3C00)
- #define SDIO_BASE (PERIPH_BASE + 0x18000)
- #define DMA1_BASE (AHBPERIPH_BASE + 0x0000)
- #define DMA1_Channel1_BASE (AHBPERIPH_BASE + 0x0008)
- #define DMA1_Channel2_BASE (AHBPERIPH_BASE + 0x001C)
- #define DMA1_Channel3_BASE (AHBPERIPH_BASE + 0x0030)
- #define DMA1_Channel4_BASE (AHBPERIPH_BASE + 0x0044)
- #define DMA1_Channel5_BASE (AHBPERIPH_BASE + 0x0058)
- #define DMA1_Channel6_BASE (AHBPERIPH_BASE + 0x006C)
- #define DMA1_Channel7_BASE (AHBPERIPH_BASE + 0x0080)
- #define DMA2_BASE (AHBPERIPH_BASE + 0x0400)
- #define DMA2_Channel1_BASE (AHBPERIPH_BASE + 0x0408)
- #define DMA2_Channel2_BASE (AHBPERIPH_BASE + 0x041C)
- #define DMA2_Channel3_BASE (AHBPERIPH_BASE + 0x0430)
- #define DMA2_Channel4_BASE (AHBPERIPH_BASE + 0x0444)
- #define DMA2_Channel5_BASE (AHBPERIPH_BASE + 0x0458)
- #define RCC_BASE (AHBPERIPH_BASE + 0x1000)
- #define CRC_BASE (AHBPERIPH_BASE + 0x3000)
- /* Flash registers base address */
- #define FLASH_R_BASE (AHBPERIPH_BASE + 0x2000)
- /* Flash Option Bytes base address */
- #define OB_BASE ((u32)0x1FFFF800)
- /* FSMC Bankx registers base address */
- #define FSMC_Bank1_R_BASE (FSMC_R_BASE + 0x0000)
- #define FSMC_Bank1E_R_BASE (FSMC_R_BASE + 0x0104)
- #define FSMC_Bank2_R_BASE (FSMC_R_BASE + 0x0060)
- #define FSMC_Bank3_R_BASE (FSMC_R_BASE + 0x0080)
- #define FSMC_Bank4_R_BASE (FSMC_R_BASE + 0x00A0)
- /* Debug MCU registers base address */
- #define DBGMCU_BASE ((u32)0xE0042000)
- /* System Control Space memory map */
- #define SCS_BASE ((u32)0xE000E000)
- #define SysTick_BASE (SCS_BASE + 0x0010)
- #define NVIC_BASE (SCS_BASE + 0x0100)
- #define SCB_BASE (SCS_BASE + 0x0D00)
- /******************************************************************************/
- /* Peripheral declaration */
- /******************************************************************************/
- /*------------------------ Non Debug Mode ------------------------------------*/
- #ifndef DEBUG
- #ifdef _TIM2
- #define TIM2 ((TIM_TypeDef *) TIM2_BASE)
- #endif /*_TIM2 */
- #ifdef _TIM3
- #define TIM3 ((TIM_TypeDef *) TIM3_BASE)
- #endif /*_TIM3 */
- #ifdef _TIM4
- #define TIM4 ((TIM_TypeDef *) TIM4_BASE)
- #endif /*_TIM4 */
- #ifdef _TIM5
- #define TIM5 ((TIM_TypeDef *) TIM5_BASE)
- #endif /*_TIM5 */
- #ifdef _TIM6
- #define TIM6 ((TIM_TypeDef *) TIM6_BASE)
- #endif /*_TIM6 */
- #ifdef _TIM7
- #define TIM7 ((TIM_TypeDef *) TIM7_BASE)
- #endif /*_TIM7 */
- #ifdef _RTC
- #define RTC ((RTC_TypeDef *) RTC_BASE)
- #endif /*_RTC */
- #ifdef _WWDG
- #define WWDG ((WWDG_TypeDef *) WWDG_BASE)
- #endif /*_WWDG */
- #ifdef _IWDG
- #define IWDG ((IWDG_TypeDef *) IWDG_BASE)
- #endif /*_IWDG */
- #ifdef _SPI2
- #define SPI2 ((SPI_TypeDef *) SPI2_BASE)
- #endif /*_SPI2 */
- #ifdef _SPI3
- #define SPI3 ((SPI_TypeDef *) SPI3_BASE)
- #endif /*_SPI3 */
- #ifdef _USART2
- #define USART2 ((USART_TypeDef *) USART2_BASE)
- #endif /*_USART2 */
- #ifdef _USART3
- #define USART3 ((USART_TypeDef *) USART3_BASE)
- #endif /*_USART3 */
- #ifdef _UART4
- #define UART4 ((USART_TypeDef *) UART4_BASE)
- #endif /*_UART4 */
- #ifdef _UART5
- #define UART5 ((USART_TypeDef *) UART5_BASE)
- #endif /*_USART5 */
- #ifdef _I2C1
- #define I2C1 ((I2C_TypeDef *) I2C1_BASE)
- #endif /*_I2C1 */
- #ifdef _I2C2
- #define I2C2 ((I2C_TypeDef *) I2C2_BASE)
- #endif /*_I2C2 */
- #ifdef _CAN
- #define CAN ((CAN_TypeDef *) CAN_BASE)
- #endif /*_CAN */
- #ifdef _BKP
- #define BKP ((BKP_TypeDef *) BKP_BASE)
- #endif /*_BKP */
- #ifdef _PWR
- #define PWR ((PWR_TypeDef *) PWR_BASE)
- #endif /*_PWR */
- #ifdef _DAC
- #define DAC ((DAC_TypeDef *) DAC_BASE)
- #endif /*_DAC */
- #ifdef _AFIO
- #define AFIO ((AFIO_TypeDef *) AFIO_BASE)
- #endif /*_AFIO */
- #ifdef _EXTI
- #define EXTI ((EXTI_TypeDef *) EXTI_BASE)
- #endif /*_EXTI */
- #ifdef _GPIOA
- #define GPIOA ((GPIO_TypeDef *) GPIOA_BASE)
- #endif /*_GPIOA */
- #ifdef _GPIOB
- #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE)
- #endif /*_GPIOB */
- #ifdef _GPIOC
- #define GPIOC ((GPIO_TypeDef *) GPIOC_BASE)
- #endif /*_GPIOC */
- #ifdef _GPIOD
- #define GPIOD ((GPIO_TypeDef *) GPIOD_BASE)
- #endif /*_GPIOD */
- #ifdef _GPIOE
- #define GPIOE ((GPIO_TypeDef *) GPIOE_BASE)
- #endif /*_GPIOE */
- #ifdef _GPIOF
- #define GPIOF ((GPIO_TypeDef *) GPIOF_BASE)
- #endif /*_GPIOF */
- #ifdef _GPIOG
- #define GPIOG ((GPIO_TypeDef *) GPIOG_BASE)
- #endif /*_GPIOG */
- #ifdef _ADC1
- #define ADC1 ((ADC_TypeDef *) ADC1_BASE)
- #endif /*_ADC1 */
- #ifdef _ADC2
- #define ADC2 ((ADC_TypeDef *) ADC2_BASE)
- #endif /*_ADC2 */
- #ifdef _TIM1
- #define TIM1 ((TIM_TypeDef *) TIM1_BASE)
- #endif /*_TIM1 */
- #ifdef _SPI1
- #define SPI1 ((SPI_TypeDef *) SPI1_BASE)
- #endif /*_SPI1 */
- #ifdef _TIM8
- #define TIM8 ((TIM_TypeDef *) TIM8_BASE)
- #endif /*_TIM8 */
- #ifdef _USART1
- #define USART1 ((USART_TypeDef *) USART1_BASE)
- #endif /*_USART1 */
- #ifdef _ADC3
- #define ADC3 ((ADC_TypeDef *) ADC3_BASE)
- #endif /*_ADC3 */
- #ifdef _SDIO
- #define SDIO ((SDIO_TypeDef *) SDIO_BASE)
- #endif /*_SDIO */
- #ifdef _DMA
- #define DMA1 ((DMA_TypeDef *) DMA1_BASE)
- #define DMA2 ((DMA_TypeDef *) DMA2_BASE)
- #endif /*_DMA */
- #ifdef _DMA1_Channel1
- #define DMA1_Channel1 ((DMA_Channel_TypeDef *) DMA1_Channel1_BASE)
- #endif /*_DMA1_Channel1 */
- #ifdef _DMA1_Channel2
- #define DMA1_Channel2 ((DMA_Channel_TypeDef *) DMA1_Channel2_BASE)
- #endif /*_DMA1_Channel2 */
- #ifdef _DMA1_Channel3
- #define DMA1_Channel3 ((DMA_Channel_TypeDef *) DMA1_Channel3_BASE)
- #endif /*_DMA1_Channel3 */
- #ifdef _DMA1_Channel4
- #define DMA1_Channel4 ((DMA_Channel_TypeDef *) DMA1_Channel4_BASE)
- #endif /*_DMA1_Channel4 */
- #ifdef _DMA1_Channel5
- #define DMA1_Channel5 ((DMA_Channel_TypeDef *) DMA1_Channel5_BASE)
- #endif /*_DMA1_Channel5 */
- #ifdef _DMA1_Channel6
- #define DMA1_Channel6 ((DMA_Channel_TypeDef *) DMA1_Channel6_BASE)
- #endif /*_DMA1_Channel6 */
- #ifdef _DMA1_Channel7
- #define DMA1_Channel7 ((DMA_Channel_TypeDef *) DMA1_Channel7_BASE)
- #endif /*_DMA1_Channel7 */
- #ifdef _DMA2_Channel1
- #define DMA2_Channel1 ((DMA_Channel_TypeDef *) DMA2_Channel1_BASE)
- #endif /*_DMA2_Channel1 */
- #ifdef _DMA2_Channel2
- #define DMA2_Channel2 ((DMA_Channel_TypeDef *) DMA2_Channel2_BASE)
- #endif /*_DMA2_Channel2 */
- #ifdef _DMA2_Channel3
- #define DMA2_Channel3 ((DMA_Channel_TypeDef *) DMA2_Channel3_BASE)
- #endif /*_DMA2_Channel3 */
- #ifdef _DMA2_Channel4
- #define DMA2_Channel4 ((DMA_Channel_TypeDef *) DMA2_Channel4_BASE)
- #endif /*_DMA2_Channel4 */
- #ifdef _DMA2_Channel5
- #define DMA2_Channel5 ((DMA_Channel_TypeDef *) DMA2_Channel5_BASE)
- #endif /*_DMA2_Channel5 */
- #ifdef _RCC
- #define RCC ((RCC_TypeDef *) RCC_BASE)
- #endif /*_RCC */
- #ifdef _CRC
- #define CRC ((CRC_TypeDef *) CRC_BASE)
- #endif /*_CRC */
- #ifdef _FLASH
- #define FLASH ((FLASH_TypeDef *) FLASH_R_BASE)
- #define OB ((OB_TypeDef *) OB_BASE)
- #endif /*_FLASH */
- #ifdef _FSMC
- #define FSMC_Bank1 ((FSMC_Bank1_TypeDef *) FSMC_Bank1_R_BASE)
- #define FSMC_Bank1E ((FSMC_Bank1E_TypeDef *) FSMC_Bank1E_R_BASE)
- #define FSMC_Bank2 ((FSMC_Bank2_TypeDef *) FSMC_Bank2_R_BASE)
- #define FSMC_Bank3 ((FSMC_Bank3_TypeDef *) FSMC_Bank3_R_BASE)
- #define FSMC_Bank4 ((FSMC_Bank4_TypeDef *) FSMC_Bank4_R_BASE)
- #endif /*_FSMC */
- #ifdef _DBGMCU
- #define DBGMCU ((DBGMCU_TypeDef *) DBGMCU_BASE)
- #endif /*_DBGMCU */
- #ifdef _SysTick
- #define SysTick ((SysTick_TypeDef *) SysTick_BASE)
- #endif /*_SysTick */
- #ifdef _NVIC
- #define NVIC ((NVIC_TypeDef *) NVIC_BASE)
- #define SCB ((SCB_TypeDef *) SCB_BASE)
- #endif /*_NVIC */
- /*------------------------ Debug Mode ----------------------------------------*/
- #else /* DEBUG */
- #ifdef _TIM2
- EXT TIM_TypeDef *TIM2;
- #endif /*_TIM2 */
- #ifdef _TIM3
- EXT TIM_TypeDef *TIM3;
- #endif /*_TIM3 */
- #ifdef _TIM4
- EXT TIM_TypeDef *TIM4;
- #endif /*_TIM4 */
- #ifdef _TIM5
- EXT TIM_TypeDef *TIM5;
- #endif /*_TIM5 */
- #ifdef _TIM6
- EXT TIM_TypeDef *TIM6;
- #endif /*_TIM6 */
- #ifdef _TIM7
- EXT TIM_TypeDef *TIM7;
- #endif /*_TIM7 */
- #ifdef _RTC
- EXT RTC_TypeDef *RTC;
- #endif /*_RTC */
- #ifdef _WWDG
- EXT WWDG_TypeDef *WWDG;
- #endif /*_WWDG */
- #ifdef _IWDG
- EXT IWDG_TypeDef *IWDG;
- #endif /*_IWDG */
- #ifdef _SPI2
- EXT SPI_TypeDef *SPI2;
- #endif /*_SPI2 */
- #ifdef _SPI3
- EXT SPI_TypeDef *SPI3;
- #endif /*_SPI3 */
- #ifdef _USART2
- EXT USART_TypeDef *USART2;
- #endif /*_USART2 */
- #ifdef _USART3
- EXT USART_TypeDef *USART3;
- #endif /*_USART3 */
- #ifdef _UART4
- EXT USART_TypeDef *UART4;
- #endif /*_UART4 */
- #ifdef _UART5
- EXT USART_TypeDef *UART5;
- #endif /*_UART5 */
- #ifdef _I2C1
- EXT I2C_TypeDef *I2C1;
- #endif /*_I2C1 */
- #ifdef _I2C2
- EXT I2C_TypeDef *I2C2;
- #endif /*_I2C2 */
- #ifdef _CAN
- EXT CAN_TypeDef *CAN;
- #endif /*_CAN */
- #ifdef _BKP
- EXT BKP_TypeDef *BKP;
- #endif /*_BKP */
- #ifdef _PWR
- EXT PWR_TypeDef *PWR;
- #endif /*_PWR */
- #ifdef _DAC
- EXT DAC_TypeDef *DAC;
- #endif /*_DAC */
- #ifdef _AFIO
- EXT AFIO_TypeDef *AFIO;
- #endif /*_AFIO */
- #ifdef _EXTI
- EXT EXTI_TypeDef *EXTI;
- #endif /*_EXTI */
- #ifdef _GPIOA
- EXT GPIO_TypeDef *GPIOA;
- #endif /*_GPIOA */
- #ifdef _GPIOB
- EXT GPIO_TypeDef *GPIOB;
- #endif /*_GPIOB */
- #ifdef _GPIOC
- EXT GPIO_TypeDef *GPIOC;
- #endif /*_GPIOC */
- #ifdef _GPIOD
- EXT GPIO_TypeDef *GPIOD;
- #endif /*_GPIOD */
- #ifdef _GPIOE
- EXT GPIO_TypeDef *GPIOE;
- #endif /*_GPIOE */
- #ifdef _GPIOF
- EXT GPIO_TypeDef *GPIOF;
- #endif /*_GPIOF */
- #ifdef _GPIOG
- EXT GPIO_TypeDef *GPIOG;
- #endif /*_GPIOG */
- #ifdef _ADC1
- EXT ADC_TypeDef *ADC1;
- #endif /*_ADC1 */
- #ifdef _ADC2
- EXT ADC_TypeDef *ADC2;
- #endif /*_ADC2 */
- #ifdef _TIM1
- EXT TIM_TypeDef *TIM1;
- #endif /*_TIM1 */
- #ifdef _SPI1
- EXT SPI_TypeDef *SPI1;
- #endif /*_SPI1 */
- #ifdef _TIM8
- EXT TIM_TypeDef *TIM8;
- #endif /*_TIM8 */
- #ifdef _USART1
- EXT USART_TypeDef *USART1;
- #endif /*_USART1 */
- #ifdef _ADC3
- EXT ADC_TypeDef *ADC3;
- #endif /*_ADC3 */
- #ifdef _SDIO
- EXT SDIO_TypeDef *SDIO;
- #endif /*_SDIO */
- #ifdef _DMA
- EXT DMA_TypeDef *DMA1;
- EXT DMA_TypeDef *DMA2;
- #endif /*_DMA */
- #ifdef _DMA1_Channel1
- EXT DMA_Channel_TypeDef *DMA1_Channel1;
- #endif /*_DMA1_Channel1 */
- #ifdef _DMA1_Channel2
- EXT DMA_Channel_TypeDef *DMA1_Channel2;
- #endif /*_DMA1_Channel2 */
- #ifdef _DMA1_Channel3
- EXT DMA_Channel_TypeDef *DMA1_Channel3;
- #endif /*_DMA1_Channel3 */
- #ifdef _DMA1_Channel4
- EXT DMA_Channel_TypeDef *DMA1_Channel4;
- #endif /*_DMA1_Channel4 */
- #ifdef _DMA1_Channel5
- EXT DMA_Channel_TypeDef *DMA1_Channel5;
- #endif /*_DMA1_Channel5 */
- #ifdef _DMA1_Channel6
- EXT DMA_Channel_TypeDef *DMA1_Channel6;
- #endif /*_DMA1_Channel6 */
- #ifdef _DMA1_Channel7
- EXT DMA_Channel_TypeDef *DMA1_Channel7;
- #endif /*_DMA1_Channel7 */
- #ifdef _DMA2_Channel1
- EXT DMA_Channel_TypeDef *DMA2_Channel1;
- #endif /*_DMA2_Channel1 */
- #ifdef _DMA2_Channel2
- EXT DMA_Channel_TypeDef *DMA2_Channel2;
- #endif /*_DMA2_Channel2 */
- #ifdef _DMA2_Channel3
- EXT DMA_Channel_TypeDef *DMA2_Channel3;
- #endif /*_DMA2_Channel3 */
- #ifdef _DMA2_Channel4
- EXT DMA_Channel_TypeDef *DMA2_Channel4;
- #endif /*_DMA2_Channel4 */
- #ifdef _DMA2_Channel5
- EXT DMA_Channel_TypeDef *DMA2_Channel5;
- #endif /*_DMA2_Channel5 */
- #ifdef _RCC
- EXT RCC_TypeDef *RCC;
- #endif /*_RCC */
- #ifdef _CRC
- EXT CRC_TypeDef *CRC;
- #endif /*_CRC */
- #ifdef _FLASH
- EXT FLASH_TypeDef *FLASH;
- EXT OB_TypeDef *OB;
- #endif /*_FLASH */
- #ifdef _FSMC
- EXT FSMC_Bank1_TypeDef *FSMC_Bank1;
- EXT FSMC_Bank1E_TypeDef *FSMC_Bank1E;
- EXT FSMC_Bank2_TypeDef *FSMC_Bank2;
- EXT FSMC_Bank3_TypeDef *FSMC_Bank3;
- EXT FSMC_Bank4_TypeDef *FSMC_Bank4;
- #endif /*_FSMC */
- #ifdef _DBGMCU
- EXT DBGMCU_TypeDef *DBGMCU;
- #endif /*_DBGMCU */
- #ifdef _SysTick
- EXT SysTick_TypeDef *SysTick;
- #endif /*_SysTick */
- #ifdef _NVIC
- EXT NVIC_TypeDef *NVIC;
- EXT SCB_TypeDef *SCB;
- #endif /*_NVIC */
- #endif /* DEBUG */
- /* Exported constants --------------------------------------------------------*/
- /* Exported macro ------------------------------------------------------------*/
- /* Exported functions ------------------------------------------------------- */
- #endif /* __STM32F10x_MAP_H */
- /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/