]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_STM32F103_Keil/STM32F10xFWLib/inc/stm32f10x_map.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / CORTEX_STM32F103_Keil / STM32F10xFWLib / inc / stm32f10x_map.h
1 /******************** (C) COPYRIGHT 2007 STMicroelectronics ********************\r
2 * File Name          : stm32f10x_map.h\r
3 * Author             : MCD Application Team\r
4 * Date First Issued  : 09/29/2006\r
5 * Description        : This file contains all the peripheral register's definitions\r
6 *                      and memory mapping.\r
7 ********************************************************************************\r
8 * History:\r
9 * 04/02/2007: V0.2\r
10 * 02/05/2007: V0.1\r
11 * 09/29/2006: V0.01\r
12 ********************************************************************************\r
13 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
14 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
15 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,\r
16 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE\r
17 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING\r
18 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
19 *******************************************************************************/\r
20 \r
21 /* Define to prevent recursive inclusion -------------------------------------*/\r
22 #ifndef __STM32F10x_MAP_H\r
23 #define __STM32F10x_MAP_H\r
24 \r
25 #ifndef EXT\r
26   #define EXT extern\r
27 #endif /* EXT */\r
28 \r
29 /* Includes ------------------------------------------------------------------*/\r
30 #include "stm32f10x_conf.h"\r
31 #include "stm32f10x_type.h"\r
32 #include "cortexm3_macro.h"\r
33 \r
34 /* Exported types ------------------------------------------------------------*/\r
35 /******************************************************************************/\r
36 /*                          IP registers structures                           */\r
37 /******************************************************************************/\r
38 \r
39 /*------------------------ Analog to Digital Converter -----------------------*/\r
40 typedef struct\r
41 {\r
42   vu32 SR;\r
43   vu32 CR1;\r
44   vu32 CR2;\r
45   vu32 SMPR1;\r
46   vu32 SMPR2;\r
47   vu32 JOFR1;\r
48   vu32 JOFR2;\r
49   vu32 JOFR3;\r
50   vu32 JOFR4;\r
51   vu32 HTR;\r
52   vu32 LTR;\r
53   vu32 SQR1;\r
54   vu32 SQR2;\r
55   vu32 SQR3;\r
56   vu32 JSQR;\r
57   vu32 JDR1;\r
58   vu32 JDR2;\r
59   vu32 JDR3;\r
60   vu32 JDR4;\r
61   vu32 DR;\r
62 } ADC_TypeDef;\r
63 \r
64 /*------------------------ Backup Registers ----------------------------------*/\r
65 typedef struct\r
66 {\r
67   u32 RESERVED0;\r
68   vu16 DR1;\r
69   u16  RESERVED1;\r
70   vu16 DR2;\r
71   u16  RESERVED2;\r
72   vu16 DR3;\r
73   u16  RESERVED3;\r
74   vu16 DR4;\r
75   u16  RESERVED4;\r
76   vu16 DR5;\r
77   u16  RESERVED5;\r
78   vu16 DR6;\r
79   u16  RESERVED6;\r
80   vu16 DR7;\r
81   u16  RESERVED7;\r
82   vu16 DR8;\r
83   u16  RESERVED8;\r
84   vu16 DR9;\r
85   u16  RESERVED9;\r
86   vu16 DR10;\r
87   u16  RESERVED10;\r
88   vu16 RTCCR;\r
89   u16  RESERVED11;\r
90   vu16 CR;\r
91   u16  RESERVED12;\r
92   vu16 CSR;\r
93   u16  RESERVED13;\r
94 } BKP_TypeDef;\r
95 \r
96 /*------------------------ Controller Area Network ---------------------------*/\r
97 typedef struct\r
98 {\r
99   vu32 TIR;\r
100   vu32 TDTR;\r
101   vu32 TDLR;\r
102   vu32 TDHR;\r
103 } CAN_TxMailBox_TypeDef;\r
104 \r
105 typedef struct\r
106 {\r
107   vu32 RIR;\r
108   vu32 RDTR;\r
109   vu32 RDLR;\r
110   vu32 RDHR;\r
111 } CAN_FIFOMailBox_TypeDef;\r
112 \r
113 typedef struct\r
114 {\r
115   vu32 FR0;\r
116   vu32 FR1;\r
117 } CAN_FilterRegister_TypeDef;\r
118 \r
119 typedef struct\r
120 {\r
121   vu32 MCR;\r
122   vu32 MSR;\r
123   vu32 TSR;\r
124   vu32 RF0R;\r
125   vu32 RF1R;\r
126   vu32 IER;\r
127   vu32 ESR;\r
128   vu32 BTR;\r
129   u32 RESERVED0[88];\r
130   CAN_TxMailBox_TypeDef sTxMailBox[3];\r
131   CAN_FIFOMailBox_TypeDef sFIFOMailBox[2];\r
132   u32 RESERVED1[12];\r
133   vu32 FMR;\r
134   vu32 FM0R;\r
135   u32 RESERVED2[1];\r
136   vu32 FS0R;\r
137   u32 RESERVED3[1];\r
138   vu32 FFA0R;\r
139   u32 RESERVED4[1];\r
140   vu32 FA0R;\r
141   u32 RESERVED5[8];\r
142   CAN_FilterRegister_TypeDef sFilterRegister[14];\r
143 } CAN_TypeDef;\r
144 \r
145 /*------------------------ DMA Controller ------------------------------------*/\r
146 typedef struct\r
147 {\r
148   vu32 CCR;\r
149   vu32 CNDTR;\r
150   vu32 CPAR;\r
151   vu32 CMAR;\r
152 } DMA_Channel_TypeDef;\r
153 \r
154 typedef struct\r
155 {\r
156   vu32 ISR;\r
157   vu32 IFCR;\r
158 } DMA_TypeDef;\r
159 \r
160 /*------------------------ External Interrupt/Event Controller ---------------*/\r
161 typedef struct\r
162 {\r
163   vu32 IMR;\r
164   vu32 EMR;\r
165   vu32 RTSR;\r
166   vu32 FTSR;\r
167   vu32 SWIER;\r
168   vu32 PR;\r
169 } EXTI_TypeDef;\r
170 \r
171 /*------------------------ FLASH and Option Bytes Registers ------------------*/\r
172 typedef struct\r
173 {\r
174   vu32 ACR;\r
175   vu32 KEYR;\r
176   vu32 OPTKEYR;\r
177   vu32 SR;\r
178   vu32 CR;\r
179   vu32 AR;\r
180   vu32 RESERVED;\r
181   vu32 OBR;\r
182   vu32 WRPR;\r
183 } FLASH_TypeDef;\r
184 \r
185 typedef struct\r
186 {\r
187   vu16 RDP;\r
188   vu16 USER;\r
189   vu16 Data0;\r
190   vu16 Data1;\r
191   vu16 WRP0;\r
192   vu16 WRP1;\r
193   vu16 WRP2;\r
194   vu16 WRP3;\r
195 } OB_TypeDef;\r
196 \r
197 /*------------------------ General Purpose and Alternate Function IO ---------*/\r
198 typedef struct\r
199 {\r
200   vu32 CRL;\r
201   vu32 CRH;\r
202   vu32 IDR;\r
203   vu32 ODR;\r
204   vu32 BSRR;\r
205   vu32 BRR;\r
206   vu32 LCKR;\r
207 } GPIO_TypeDef;\r
208 \r
209 typedef struct\r
210 {\r
211   vu32 EVCR;\r
212   vu32 MAPR;\r
213   vu32 EXTICR[4];\r
214 } AFIO_TypeDef;\r
215 \r
216 /*------------------------ Inter-integrated Circuit Interface ----------------*/\r
217 typedef struct\r
218 {\r
219   vu16 CR1;\r
220   u16 RESERVED0;\r
221   vu16 CR2;\r
222   u16 RESERVED1;\r
223   vu16 OAR1;\r
224   u16 RESERVED2;\r
225   vu16 OAR2;\r
226   u16 RESERVED3;\r
227   vu16 DR;\r
228   u16 RESERVED4;\r
229   vu16 SR1;\r
230   u16 RESERVED5;\r
231   vu16 SR2;\r
232   u16 RESERVED6;\r
233   vu16 CCR;\r
234   u16 RESERVED7;\r
235   vu16 TRISE;\r
236   u16 RESERVED8;\r
237 } I2C_TypeDef;\r
238 \r
239 /*------------------------ Independent WATCHDOG ------------------------------*/\r
240 typedef struct\r
241 {\r
242   vu32 KR;\r
243   vu32 PR;\r
244   vu32 RLR;\r
245   vu32 SR;\r
246 } IWDG_TypeDef;\r
247 \r
248 /*------------------------ Nested Vectored Interrupt Controller --------------*/\r
249 typedef struct\r
250 {\r
251   vu32 Enable[2];\r
252   u32 RESERVED0[30];\r
253   vu32 Disable[2];\r
254   u32 RSERVED1[30];\r
255   vu32 Set[2];\r
256   u32 RESERVED2[30];\r
257   vu32 Clear[2];\r
258   u32 RESERVED3[30];\r
259   vu32 Active[2];\r
260   u32 RESERVED4[62];\r
261   vu32 Priority[11];\r
262 } NVIC_TypeDef;\r
263 \r
264 typedef struct\r
265 {\r
266   vu32 CPUID;\r
267   vu32 IRQControlState;\r
268   vu32 ExceptionTableOffset;\r
269   vu32 AIRC;\r
270   vu32 SysCtrl;\r
271   vu32 ConfigCtrl;\r
272   vu32 SystemPriority[3];\r
273   vu32 SysHandlerCtrl;\r
274   vu32 ConfigFaultStatus;\r
275   vu32 HardFaultStatus;\r
276   vu32 DebugFaultStatus;\r
277   vu32 MemoryManageFaultAddr;\r
278   vu32 BusFaultAddr;\r
279 } SCB_TypeDef;\r
280 \r
281 /*------------------------ Power Controller ----------------------------------*/\r
282 typedef struct\r
283 {\r
284   vu32 CR;\r
285   vu32 CSR;\r
286 } PWR_TypeDef;\r
287 \r
288 /*------------------------ Reset and Clock Controller ------------------------*/\r
289 typedef struct\r
290 {\r
291   vu32 CR;\r
292   vu32 CFGR;\r
293   vu32 CIR;\r
294   vu32 APB2RSTR;\r
295   vu32 APB1RSTR;\r
296   vu32 AHBENR;\r
297   vu32 APB2ENR;\r
298   vu32 APB1ENR;\r
299   vu32 BDCR;\r
300   vu32 CSR;\r
301 } RCC_TypeDef;\r
302 \r
303 /*------------------------ Real-Time Clock -----------------------------------*/\r
304 typedef struct\r
305 {\r
306   vu16 CRH;\r
307   u16 RESERVED0;\r
308   vu16 CRL;\r
309   u16 RESERVED1;\r
310   vu16 PRLH;\r
311   u16 RESERVED2;\r
312   vu16 PRLL;\r
313   u16 RESERVED3;\r
314   vu16 DIVH;\r
315   u16 RESERVED4;\r
316   vu16 DIVL;\r
317   u16 RESERVED5;\r
318   vu16 CNTH;\r
319   u16 RESERVED6;\r
320   vu16 CNTL;\r
321   u16 RESERVED7;\r
322   vu16 ALRH;\r
323   u16 RESERVED8;\r
324   vu16 ALRL;\r
325   u16 RESERVED9;\r
326 } RTC_TypeDef;\r
327 \r
328 /*------------------------ Serial Peripheral Interface -----------------------*/\r
329 typedef struct\r
330 {\r
331   vu16 CR1;\r
332   u16 RESERVED0;\r
333   vu16 CR2;\r
334   u16 RESERVED1;\r
335   vu16 SR;\r
336   u16  RESERVED2;\r
337   vu16 DR;\r
338   u16  RESERVED3;\r
339   vu16 CRCPR;\r
340   u16 RESERVED4;\r
341   vu16 RXCRCR;\r
342   u16  RESERVED5;\r
343   vu16 TXCRCR;\r
344   u16  RESERVED6;\r
345 } SPI_TypeDef;\r
346 \r
347 /*------------------------ SystemTick ----------------------------------------*/\r
348 typedef struct\r
349 {\r
350   vu32 CTRL;\r
351   vu32 LOAD;\r
352   vu32 VAL;\r
353   vuc32 CALIB;\r
354 } SysTick_TypeDef;\r
355 \r
356 /*------------------------ Advanced Control Timer ----------------------------*/\r
357 typedef struct\r
358 {\r
359   vu16 CR1;\r
360   u16 RESERVED0;\r
361   vu16 CR2;\r
362   u16 RESERVED1;\r
363   vu16 SMCR;\r
364   u16 RESERVED2;\r
365   vu16 DIER;\r
366   u16 RESERVED3;\r
367   vu16 SR;\r
368   u16 RESERVED4;\r
369   vu16 EGR;\r
370   u16 RESERVED5;\r
371   vu16 CCMR1;\r
372   u16 RESERVED6;\r
373   vu16 CCMR2;\r
374   u16 RESERVED7;\r
375   vu16 CCER;\r
376   u16 RESERVED8;\r
377   vu16 CNT;\r
378   u16 RESERVED9;\r
379   vu16 PSC;\r
380   u16 RESERVED10;\r
381   vu16 ARR;\r
382   u16 RESERVED11;\r
383   vu16 RCR;\r
384   u16 RESERVED12;\r
385   vu16 CCR1;\r
386   u16 RESERVED13;\r
387   vu16 CCR2;\r
388   u16 RESERVED14;\r
389   vu16 CCR3;\r
390   u16 RESERVED15;\r
391   vu16 CCR4;\r
392   u16 RESERVED16;\r
393   vu16 BDTR;\r
394   u16 RESERVED17;\r
395   vu16 DCR;\r
396   u16 RESERVED18;\r
397   vu16 DMAR;\r
398   u16 RESERVED19;\r
399 } TIM1_TypeDef;\r
400 \r
401 /*------------------------ General Purpose Timer -----------------------------*/\r
402 typedef struct\r
403 {\r
404   vu16 CR1;\r
405   u16 RESERVED0;\r
406   vu16 CR2;\r
407   u16 RESERVED1;\r
408   vu16 SMCR;\r
409   u16 RESERVED2;\r
410   vu16 DIER;\r
411   u16 RESERVED3;\r
412   vu16 SR;\r
413   u16 RESERVED4;\r
414   vu16 EGR;\r
415   u16 RESERVED5;\r
416   vu16 CCMR1;\r
417   u16 RESERVED6;\r
418   vu16 CCMR2;\r
419   u16 RESERVED7;\r
420   vu16 CCER;\r
421   u16 RESERVED8;\r
422   vu16 CNT;\r
423   u16 RESERVED9;\r
424   vu16 PSC;\r
425   u16 RESERVED10;\r
426   vu16 ARR;\r
427   u16 RESERVED11[3];\r
428   vu16 CCR1;\r
429   u16 RESERVED12;\r
430   vu16 CCR2;\r
431   u16 RESERVED13;\r
432   vu16 CCR3;\r
433   u16 RESERVED14;\r
434   vu16 CCR4;\r
435   u16 RESERVED15[3];\r
436   vu16 DCR;\r
437   u16 RESERVED16;\r
438   vu16 DMAR;\r
439   u16 RESERVED17;\r
440 } TIM_TypeDef;\r
441 \r
442 /*----------------- Universal Synchronous Asynchronous Receiver Transmitter --*/\r
443 typedef struct\r
444 {\r
445   vu16 SR;\r
446   u16 RESERVED0;\r
447   vu16 DR;\r
448   u16 RESERVED1;\r
449   vu16 BRR;\r
450   u16 RESERVED2;\r
451   vu16 CR1;\r
452   u16 RESERVED3;\r
453   vu16 CR2;\r
454   u16 RESERVED4;\r
455   vu16 CR3;\r
456   u16 RESERVED5;\r
457   vu16 GTPR;\r
458   u16 RESERVED6;\r
459 } USART_TypeDef;\r
460 \r
461 /*------------------------ Window WATCHDOG -----------------------------------*/\r
462 typedef struct\r
463 {\r
464   vu32 CR;\r
465   vu32 CFR;\r
466   vu32 SR;\r
467 } WWDG_TypeDef;\r
468 \r
469 /******************************************************************************/\r
470 /*                       Peripheral memory map                                */\r
471 /******************************************************************************/\r
472 /* Peripheral and SRAM base address in the alias region */\r
473 #define PERIPH_BB_BASE        ((u32)0x42000000)\r
474 #define SRAM_BB_BASE          ((u32)0x22000000)\r
475 \r
476 /* Peripheral and SRAM base address in the bit-band region */\r
477 #define SRAM_BASE             ((u32)0x20000000)\r
478 #define PERIPH_BASE           ((u32)0x40000000)\r
479 \r
480 /* Flash refisters base address */\r
481 #define FLASH_BASE            ((u32)0x40022000)\r
482 /* Flash Option Bytes base address */\r
483 #define OB_BASE               ((u32)0x1FFFF800)\r
484 \r
485 /* Peripheral memory map */\r
486 #define APB1PERIPH_BASE       PERIPH_BASE\r
487 #define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)\r
488 #define AHBPERIPH_BASE        (PERIPH_BASE + 0x20000)\r
489 \r
490 #define TIM2_BASE             (APB1PERIPH_BASE + 0x0000)\r
491 #define TIM3_BASE             (APB1PERIPH_BASE + 0x0400)\r
492 #define TIM4_BASE             (APB1PERIPH_BASE + 0x0800)\r
493 #define RTC_BASE              (APB1PERIPH_BASE + 0x2800)\r
494 #define WWDG_BASE             (APB1PERIPH_BASE + 0x2C00)\r
495 #define IWDG_BASE             (APB1PERIPH_BASE + 0x3000)\r
496 #define SPI2_BASE             (APB1PERIPH_BASE + 0x3800)\r
497 #define USART2_BASE           (APB1PERIPH_BASE + 0x4400)\r
498 #define USART3_BASE           (APB1PERIPH_BASE + 0x4800)\r
499 #define I2C1_BASE             (APB1PERIPH_BASE + 0x5400)\r
500 #define I2C2_BASE             (APB1PERIPH_BASE + 0x5800)\r
501 #define CAN_BASE              (APB1PERIPH_BASE + 0x6400)\r
502 #define BKP_BASE              (APB1PERIPH_BASE + 0x6C00)\r
503 #define PWR_BASE              (APB1PERIPH_BASE + 0x7000)\r
504 \r
505 #define AFIO_BASE             (APB2PERIPH_BASE + 0x0000)\r
506 #define EXTI_BASE             (APB2PERIPH_BASE + 0x0400)\r
507 #define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)\r
508 #define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)\r
509 #define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)\r
510 #define GPIOD_BASE            (APB2PERIPH_BASE + 0x1400)\r
511 #define GPIOE_BASE            (APB2PERIPH_BASE + 0x1800)\r
512 #define ADC1_BASE             (APB2PERIPH_BASE + 0x2400)\r
513 #define ADC2_BASE             (APB2PERIPH_BASE + 0x2800)\r
514 #define TIM1_BASE             (APB2PERIPH_BASE + 0x2C00)\r
515 #define SPI1_BASE             (APB2PERIPH_BASE + 0x3000)\r
516 #define USART1_BASE           (APB2PERIPH_BASE + 0x3800)\r
517 \r
518 #define DMA_BASE              (AHBPERIPH_BASE + 0x0000)\r
519 #define DMA_Channel1_BASE     (AHBPERIPH_BASE + 0x0008)\r
520 #define DMA_Channel2_BASE     (AHBPERIPH_BASE + 0x001C)\r
521 #define DMA_Channel3_BASE     (AHBPERIPH_BASE + 0x0030)\r
522 #define DMA_Channel4_BASE     (AHBPERIPH_BASE + 0x0044)\r
523 #define DMA_Channel5_BASE     (AHBPERIPH_BASE + 0x0058)\r
524 #define DMA_Channel6_BASE     (AHBPERIPH_BASE + 0x006C)\r
525 #define DMA_Channel7_BASE     (AHBPERIPH_BASE + 0x0080)\r
526 #define RCC_BASE              (AHBPERIPH_BASE + 0x1000)\r
527 \r
528 /* System Control Space memory map */\r
529 #define SCS_BASE              ((u32)0xE000E000)\r
530 \r
531 #define SysTick_BASE          (SCS_BASE + 0x0010)\r
532 #define NVIC_BASE             (SCS_BASE + 0x0100)\r
533 #define SCB_BASE              (SCS_BASE + 0x0D00)\r
534 \r
535 \r
536 /******************************************************************************/\r
537 /*                            IPs' declaration                                */\r
538 /******************************************************************************/\r
539 \r
540 /*------------------- Non Debug Mode -----------------------------------------*/\r
541 #ifndef DEBUG\r
542 #ifdef _TIM2\r
543   #define TIM2                  ((TIM_TypeDef *) TIM2_BASE)\r
544 #endif /*_TIM2 */\r
545 \r
546 #ifdef _TIM3\r
547   #define TIM3                  ((TIM_TypeDef *) TIM3_BASE)\r
548 #endif /*_TIM3 */\r
549 \r
550 #ifdef _TIM4\r
551   #define TIM4                  ((TIM_TypeDef *) TIM4_BASE)\r
552 #endif /*_TIM4 */\r
553 \r
554 #ifdef _RTC\r
555   #define RTC                   ((RTC_TypeDef *) RTC_BASE)\r
556 #endif /*_RTC */\r
557 \r
558 #ifdef _WWDG\r
559   #define WWDG                  ((WWDG_TypeDef *) WWDG_BASE)\r
560 #endif /*_WWDG */\r
561 \r
562 #ifdef _IWDG\r
563   #define IWDG                  ((IWDG_TypeDef *) IWDG_BASE)\r
564 #endif /*_IWDG */\r
565 \r
566 #ifdef _SPI2\r
567   #define SPI2                  ((SPI_TypeDef *) SPI2_BASE)\r
568 #endif /*_SPI2 */\r
569 \r
570 #ifdef _USART2\r
571   #define USART2                ((USART_TypeDef *) USART2_BASE)\r
572 #endif /*_USART2 */\r
573 \r
574 #ifdef _USART3\r
575   #define USART3                ((USART_TypeDef *) USART3_BASE)\r
576 #endif /*_USART3 */\r
577 \r
578 #ifdef _I2C1\r
579   #define I2C1                  ((I2C_TypeDef *) I2C1_BASE)\r
580 #endif /*_I2C1 */\r
581 \r
582 #ifdef _I2C2\r
583   #define I2C2                  ((I2C_TypeDef *) I2C2_BASE)\r
584 #endif /*_I2C2 */\r
585 \r
586 #ifdef _CAN\r
587   #define CAN                   ((CAN_TypeDef *) CAN_BASE)\r
588 #endif /*_CAN */\r
589 \r
590 #ifdef _BKP\r
591   #define BKP                   ((BKP_TypeDef *) BKP_BASE)\r
592 #endif /*_BKP */\r
593 \r
594 #ifdef _PWR\r
595   #define PWR                   ((PWR_TypeDef *) PWR_BASE)\r
596 #endif /*_PWR */\r
597 \r
598 #ifdef _AFIO\r
599   #define AFIO                  ((AFIO_TypeDef *) AFIO_BASE)\r
600 #endif /*_AFIO */\r
601 \r
602 #ifdef _EXTI\r
603   #define EXTI                  ((EXTI_TypeDef *) EXTI_BASE)\r
604 #endif /*_EXTI */\r
605 \r
606 #ifdef _GPIOA\r
607   #define GPIOA                 ((GPIO_TypeDef *) GPIOA_BASE)\r
608 #endif /*_GPIOA */\r
609 \r
610 #ifdef _GPIOB\r
611   #define GPIOB                 ((GPIO_TypeDef *) GPIOB_BASE)\r
612 #endif /*_GPIOB */\r
613 \r
614 #ifdef _GPIOC\r
615   #define GPIOC                 ((GPIO_TypeDef *) GPIOC_BASE)\r
616 #endif /*_GPIOC */\r
617 \r
618 #ifdef _GPIOD\r
619   #define GPIOD                 ((GPIO_TypeDef *) GPIOD_BASE)\r
620 #endif /*_GPIOD */\r
621 \r
622 #ifdef _GPIOE\r
623   #define GPIOE                 ((GPIO_TypeDef *) GPIOE_BASE)\r
624 #endif /*_GPIOE */\r
625 \r
626 #ifdef _ADC1\r
627   #define ADC1                  ((ADC_TypeDef *) ADC1_BASE)\r
628 #endif /*_ADC1 */\r
629 \r
630 #ifdef _ADC2\r
631   #define ADC2                  ((ADC_TypeDef *) ADC2_BASE)\r
632 #endif /*_ADC2 */\r
633 \r
634 #ifdef _TIM1\r
635   #define TIM1                  ((TIM1_TypeDef *) TIM1_BASE)\r
636 #endif /*_TIM1 */\r
637 \r
638 #ifdef _SPI1\r
639   #define SPI1                  ((SPI_TypeDef *) SPI1_BASE)\r
640 #endif /*_SPI1 */\r
641 \r
642 #ifdef _USART1\r
643   #define USART1                ((USART_TypeDef *) USART1_BASE)\r
644 #endif /*_USART1 */\r
645 \r
646 #ifdef _DMA\r
647   #define DMA                   ((DMA_TypeDef *) DMA_BASE)\r
648 #endif /*_DMA */\r
649 \r
650 #ifdef _DMA_Channel1\r
651   #define DMA_Channel1          ((DMA_Channel_TypeDef *) DMA_Channel1_BASE)\r
652 #endif /*_DMA_Channel1 */\r
653 \r
654 #ifdef _DMA_Channel2\r
655   #define DMA_Channel2          ((DMA_Channel_TypeDef *) DMA_Channel2_BASE)\r
656 #endif /*_DMA_Channel2 */\r
657 \r
658 #ifdef _DMA_Channel3\r
659   #define DMA_Channel3          ((DMA_Channel_TypeDef *) DMA_Channel3_BASE)\r
660 #endif /*_DMA_Channel3 */\r
661 \r
662 #ifdef _DMA_Channel4\r
663   #define DMA_Channel4          ((DMA_Channel_TypeDef *) DMA_Channel4_BASE)\r
664 #endif /*_DMA_Channel4 */\r
665 \r
666 #ifdef _DMA_Channel5\r
667   #define DMA_Channel5          ((DMA_Channel_TypeDef *) DMA_Channel5_BASE)\r
668 #endif /*_DMA_Channel5 */\r
669 \r
670 #ifdef _DMA_Channel6\r
671   #define DMA_Channel6          ((DMA_Channel_TypeDef *) DMA_Channel6_BASE)\r
672 #endif /*_DMA_Channel6 */\r
673 \r
674 #ifdef _DMA_Channel7\r
675   #define DMA_Channel7          ((DMA_Channel_TypeDef *) DMA_Channel7_BASE)\r
676 #endif /*_DMA_Channel7 */\r
677 \r
678 #ifdef _FLASH\r
679   #define FLASH                 ((FLASH_TypeDef *) FLASH_BASE)\r
680   #define OB                    ((OB_TypeDef *) OB_BASE) \r
681 #endif /*_FLASH */\r
682 \r
683 #ifdef _RCC\r
684   #define RCC                   ((RCC_TypeDef *) RCC_BASE)\r
685 #endif /*_RCC */\r
686 \r
687 #ifdef _SysTick\r
688   #define SysTick               ((SysTick_TypeDef *) SysTick_BASE)\r
689 #endif /*_SysTick */\r
690 \r
691 #ifdef _NVIC\r
692   #define NVIC                  ((NVIC_TypeDef *) NVIC_BASE)\r
693 #endif /*_NVIC */\r
694 \r
695 #ifdef _SCB\r
696   #define SCB                   ((SCB_TypeDef *) SCB_BASE)\r
697 #endif /*_SCB */\r
698 /*----------------------  Debug Mode -----------------------------------------*/\r
699 #else   /* DEBUG */\r
700 #ifdef _TIM2\r
701   EXT TIM_TypeDef             *TIM2;\r
702 #endif /*_TIM2 */\r
703 \r
704 #ifdef _TIM3\r
705   EXT TIM_TypeDef             *TIM3;\r
706 #endif /*_TIM3 */\r
707 \r
708 #ifdef _TIM4\r
709   EXT TIM_TypeDef             *TIM4;\r
710 #endif /*_TIM4 */\r
711 \r
712 #ifdef _RTC\r
713   EXT RTC_TypeDef             *RTC;\r
714 #endif /*_RTC */\r
715 \r
716 #ifdef _WWDG\r
717   EXT WWDG_TypeDef            *WWDG;\r
718 #endif /*_WWDG */\r
719 \r
720 #ifdef _IWDG\r
721   EXT IWDG_TypeDef            *IWDG;\r
722 #endif /*_IWDG */\r
723 \r
724 #ifdef _SPI2\r
725   EXT SPI_TypeDef             *SPI2;\r
726 #endif /*_SPI2 */\r
727 \r
728 #ifdef _USART2\r
729   EXT USART_TypeDef           *USART2;\r
730 #endif /*_USART2 */\r
731 \r
732 #ifdef _USART3\r
733   EXT USART_TypeDef           *USART3;\r
734 #endif /*_USART3 */\r
735 \r
736 #ifdef _I2C1\r
737   EXT I2C_TypeDef             *I2C1;\r
738 #endif /*_I2C1 */\r
739 \r
740 #ifdef _I2C2\r
741   EXT I2C_TypeDef             *I2C2;\r
742 #endif /*_I2C2 */\r
743 \r
744 #ifdef _CAN\r
745   EXT CAN_TypeDef             *CAN;\r
746 #endif /*_CAN */\r
747 \r
748 #ifdef _BKP\r
749   EXT BKP_TypeDef             *BKP;\r
750 #endif /*_BKP */\r
751 \r
752 #ifdef _PWR\r
753   EXT PWR_TypeDef             *PWR;\r
754 #endif /*_PWR */\r
755 \r
756 #ifdef _AFIO\r
757   EXT AFIO_TypeDef            *AFIO;\r
758 #endif /*_AFIO */\r
759 \r
760 #ifdef _EXTI\r
761   EXT EXTI_TypeDef            *EXTI;\r
762 #endif /*_EXTI */\r
763 \r
764 #ifdef _GPIOA\r
765   EXT GPIO_TypeDef            *GPIOA;\r
766 #endif /*_GPIOA */\r
767 \r
768 #ifdef _GPIOB\r
769   EXT GPIO_TypeDef            *GPIOB;\r
770 #endif /*_GPIOB */\r
771 \r
772 #ifdef _GPIOC\r
773   EXT GPIO_TypeDef            *GPIOC;\r
774 #endif /*_GPIOC */\r
775 \r
776 #ifdef _GPIOD\r
777   EXT GPIO_TypeDef            *GPIOD;\r
778 #endif /*_GPIOD */\r
779 \r
780 #ifdef _GPIOE\r
781   EXT GPIO_TypeDef            *GPIOE;\r
782 #endif /*_GPIOE */\r
783 \r
784 #ifdef _ADC1\r
785   EXT ADC_TypeDef             *ADC1;\r
786 #endif /*_ADC1 */\r
787 \r
788 #ifdef _ADC2\r
789   EXT ADC_TypeDef             *ADC2;\r
790 #endif /*_ADC2 */\r
791 \r
792 #ifdef _TIM1\r
793   EXT TIM1_TypeDef            *TIM1;\r
794 #endif /*_TIM1 */\r
795 \r
796 #ifdef _SPI1\r
797   EXT SPI_TypeDef             *SPI1;\r
798 #endif /*_SPI1 */\r
799 \r
800 #ifdef _USART1\r
801   EXT USART_TypeDef           *USART1;\r
802 #endif /*_USART1 */\r
803 \r
804 #ifdef _DMA\r
805   EXT DMA_TypeDef             *DMA;\r
806 #endif /*_DMA */\r
807 \r
808 #ifdef _DMA_Channel1\r
809   EXT DMA_Channel_TypeDef     *DMA_Channel1;\r
810 #endif /*_DMA_Channel1 */\r
811 \r
812 #ifdef _DMA_Channel2\r
813   EXT DMA_Channel_TypeDef     *DMA_Channel2;\r
814 #endif /*_DMA_Channel2 */\r
815 \r
816 #ifdef _DMA_Channel3\r
817   EXT DMA_Channel_TypeDef     *DMA_Channel3;\r
818 #endif /*_DMA_Channel3 */\r
819 \r
820 #ifdef _DMA_Channel4\r
821   EXT DMA_Channel_TypeDef     *DMA_Channel4;\r
822 #endif /*_DMA_Channel4 */\r
823 \r
824 #ifdef _DMA_Channel5\r
825   EXT DMA_Channel_TypeDef     *DMA_Channel5;\r
826 #endif /*_DMA_Channel5 */\r
827 \r
828 #ifdef _DMA_Channel6\r
829   EXT DMA_Channel_TypeDef     *DMA_Channel6;\r
830 #endif /*_DMA_Channel6 */\r
831 \r
832 #ifdef _DMA_Channel7\r
833   EXT DMA_Channel_TypeDef     *DMA_Channel7;\r
834 #endif /*_DMA_Channel7 */\r
835 \r
836 #ifdef _FLASH\r
837   EXT FLASH_TypeDef            *FLASH;\r
838   EXT OB_TypeDef               *OB;  \r
839 #endif /*_FLASH */\r
840 \r
841 #ifdef _RCC\r
842   EXT RCC_TypeDef             *RCC;\r
843 #endif /*_RCC */\r
844 \r
845 #ifdef _SysTick\r
846   EXT SysTick_TypeDef         *SysTick;\r
847 #endif /*_SysTick */\r
848 \r
849 #ifdef _NVIC\r
850   EXT NVIC_TypeDef            *NVIC;\r
851 #endif /*_NVIC */\r
852 \r
853 #ifdef _SCB\r
854   EXT SCB_TypeDef             *SCB;\r
855 #endif /*_SCB */\r
856 \r
857 #endif  /* DEBUG */\r
858 \r
859 /* Exported constants --------------------------------------------------------*/\r
860 /* Exported macro ------------------------------------------------------------*/\r
861 /* Exported functions ------------------------------------------------------- */\r
862 \r
863 #endif /* __STM32F10x_MAP_H */\r
864 \r
865 /******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/\r