]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/Common/drivers/ST/STM32F10xFWLib/inc/stm32f10x_map.h
Add FreeRTOS-Plus directory.
[freertos] / FreeRTOS / Demo / Common / drivers / ST / 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   vu16 I2SCFGR;\r
346   u16  RESERVED7;\r
347   vu16 I2SPR;\r
348   u16 RESERVED8;\r
349 \r
350 } SPI_TypeDef;\r
351 \r
352 /*------------------------ SystemTick ----------------------------------------*/\r
353 typedef struct\r
354 {\r
355   vu32 CTRL;\r
356   vu32 LOAD;\r
357   vu32 VAL;\r
358   vuc32 CALIB;\r
359 } SysTick_TypeDef;\r
360 \r
361 /*------------------------ Advanced Control Timer ----------------------------*/\r
362 typedef struct\r
363 {\r
364   vu16 CR1;\r
365   u16 RESERVED0;\r
366   vu16 CR2;\r
367   u16 RESERVED1;\r
368   vu16 SMCR;\r
369   u16 RESERVED2;\r
370   vu16 DIER;\r
371   u16 RESERVED3;\r
372   vu16 SR;\r
373   u16 RESERVED4;\r
374   vu16 EGR;\r
375   u16 RESERVED5;\r
376   vu16 CCMR1;\r
377   u16 RESERVED6;\r
378   vu16 CCMR2;\r
379   u16 RESERVED7;\r
380   vu16 CCER;\r
381   u16 RESERVED8;\r
382   vu16 CNT;\r
383   u16 RESERVED9;\r
384   vu16 PSC;\r
385   u16 RESERVED10;\r
386   vu16 ARR;\r
387   u16 RESERVED11;\r
388   vu16 RCR;\r
389   u16 RESERVED12;\r
390   vu16 CCR1;\r
391   u16 RESERVED13;\r
392   vu16 CCR2;\r
393   u16 RESERVED14;\r
394   vu16 CCR3;\r
395   u16 RESERVED15;\r
396   vu16 CCR4;\r
397   u16 RESERVED16;\r
398   vu16 BDTR;\r
399   u16 RESERVED17;\r
400   vu16 DCR;\r
401   u16 RESERVED18;\r
402   vu16 DMAR;\r
403   u16 RESERVED19;\r
404 } TIM1_TypeDef;\r
405 \r
406 /*------------------------ General Purpose Timer -----------------------------*/\r
407 typedef struct\r
408 {\r
409   vu16 CR1;\r
410   u16 RESERVED0;\r
411   vu16 CR2;\r
412   u16 RESERVED1;\r
413   vu16 SMCR;\r
414   u16 RESERVED2;\r
415   vu16 DIER;\r
416   u16 RESERVED3;\r
417   vu16 SR;\r
418   u16 RESERVED4;\r
419   vu16 EGR;\r
420   u16 RESERVED5;\r
421   vu16 CCMR1;\r
422   u16 RESERVED6;\r
423   vu16 CCMR2;\r
424   u16 RESERVED7;\r
425   vu16 CCER;\r
426   u16 RESERVED8;\r
427   vu16 CNT;\r
428   u16 RESERVED9;\r
429   vu16 PSC;\r
430   u16 RESERVED10;\r
431   vu16 ARR;\r
432   u16 RESERVED11[3];\r
433   vu16 CCR1;\r
434   u16 RESERVED12;\r
435   vu16 CCR2;\r
436   u16 RESERVED13;\r
437   vu16 CCR3;\r
438   u16 RESERVED14;\r
439   vu16 CCR4;\r
440   u16 RESERVED15[3];\r
441   vu16 DCR;\r
442   u16 RESERVED16;\r
443   vu16 DMAR;\r
444   u16 RESERVED17;\r
445 } TIM_TypeDef;\r
446 \r
447 /*----------------- Universal Synchronous Asynchronous Receiver Transmitter --*/\r
448 typedef struct\r
449 {\r
450   vu16 SR;\r
451   u16 RESERVED0;\r
452   vu16 DR;\r
453   u16 RESERVED1;\r
454   vu16 BRR;\r
455   u16 RESERVED2;\r
456   vu16 CR1;\r
457   u16 RESERVED3;\r
458   vu16 CR2;\r
459   u16 RESERVED4;\r
460   vu16 CR3;\r
461   u16 RESERVED5;\r
462   vu16 GTPR;\r
463   u16 RESERVED6;\r
464 } USART_TypeDef;\r
465 \r
466 /*------------------------ Window WATCHDOG -----------------------------------*/\r
467 typedef struct\r
468 {\r
469   vu32 CR;\r
470   vu32 CFR;\r
471   vu32 SR;\r
472 } WWDG_TypeDef;\r
473 \r
474 /******************************************************************************/\r
475 /*                       Peripheral memory map                                */\r
476 /******************************************************************************/\r
477 /* Peripheral and SRAM base address in the alias region */\r
478 #define PERIPH_BB_BASE        ((u32)0x42000000)\r
479 #define SRAM_BB_BASE          ((u32)0x22000000)\r
480 \r
481 /* Peripheral and SRAM base address in the bit-band region */\r
482 #define SRAM_BASE             ((u32)0x20000000)\r
483 #define PERIPH_BASE           ((u32)0x40000000)\r
484 \r
485 /* Flash refisters base address */\r
486 #define FLASH_BASE            ((u32)0x40022000)\r
487 /* Flash Option Bytes base address */\r
488 #define OB_BASE               ((u32)0x1FFFF800)\r
489 \r
490 /* Peripheral memory map */\r
491 #define APB1PERIPH_BASE       PERIPH_BASE\r
492 #define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)\r
493 #define AHBPERIPH_BASE        (PERIPH_BASE + 0x20000)\r
494 \r
495 #define TIM2_BASE             (APB1PERIPH_BASE + 0x0000)\r
496 #define TIM3_BASE             (APB1PERIPH_BASE + 0x0400)\r
497 #define TIM4_BASE             (APB1PERIPH_BASE + 0x0800)\r
498 #define RTC_BASE              (APB1PERIPH_BASE + 0x2800)\r
499 #define WWDG_BASE             (APB1PERIPH_BASE + 0x2C00)\r
500 #define IWDG_BASE             (APB1PERIPH_BASE + 0x3000)\r
501 #define SPI2_BASE             (APB1PERIPH_BASE + 0x3800)\r
502 #define USART2_BASE           (APB1PERIPH_BASE + 0x4400)\r
503 #define USART3_BASE           (APB1PERIPH_BASE + 0x4800)\r
504 #define I2C1_BASE             (APB1PERIPH_BASE + 0x5400)\r
505 #define I2C2_BASE             (APB1PERIPH_BASE + 0x5800)\r
506 #define CAN_BASE              (APB1PERIPH_BASE + 0x6400)\r
507 #define BKP_BASE              (APB1PERIPH_BASE + 0x6C00)\r
508 #define PWR_BASE              (APB1PERIPH_BASE + 0x7000)\r
509 \r
510 #define AFIO_BASE             (APB2PERIPH_BASE + 0x0000)\r
511 #define EXTI_BASE             (APB2PERIPH_BASE + 0x0400)\r
512 #define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)\r
513 #define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)\r
514 #define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)\r
515 #define GPIOD_BASE            (APB2PERIPH_BASE + 0x1400)\r
516 #define GPIOE_BASE            (APB2PERIPH_BASE + 0x1800)\r
517 #define ADC1_BASE             (APB2PERIPH_BASE + 0x2400)\r
518 #define ADC2_BASE             (APB2PERIPH_BASE + 0x2800)\r
519 #define TIM1_BASE             (APB2PERIPH_BASE + 0x2C00)\r
520 #define SPI1_BASE             (APB2PERIPH_BASE + 0x3000)\r
521 #define USART1_BASE           (APB2PERIPH_BASE + 0x3800)\r
522 \r
523 #define DMA_BASE              (AHBPERIPH_BASE + 0x0000)\r
524 #define DMA_Channel1_BASE     (AHBPERIPH_BASE + 0x0008)\r
525 #define DMA_Channel2_BASE     (AHBPERIPH_BASE + 0x001C)\r
526 #define DMA_Channel3_BASE     (AHBPERIPH_BASE + 0x0030)\r
527 #define DMA_Channel4_BASE     (AHBPERIPH_BASE + 0x0044)\r
528 #define DMA_Channel5_BASE     (AHBPERIPH_BASE + 0x0058)\r
529 #define DMA_Channel6_BASE     (AHBPERIPH_BASE + 0x006C)\r
530 #define DMA_Channel7_BASE     (AHBPERIPH_BASE + 0x0080)\r
531 #define RCC_BASE              (AHBPERIPH_BASE + 0x1000)\r
532 \r
533 /* System Control Space memory map */\r
534 #define SCS_BASE              ((u32)0xE000E000)\r
535 \r
536 #define SysTick_BASE          (SCS_BASE + 0x0010)\r
537 #define NVIC_BASE             (SCS_BASE + 0x0100)\r
538 #define SCB_BASE              (SCS_BASE + 0x0D00)\r
539 \r
540 \r
541 /******************************************************************************/\r
542 /*                            IPs' declaration                                */\r
543 /******************************************************************************/\r
544 \r
545 /*------------------- Non Debug Mode -----------------------------------------*/\r
546 #ifndef DEBUG\r
547 #ifdef _TIM2\r
548   #define TIM2                  ((TIM_TypeDef *) TIM2_BASE)\r
549 #endif /*_TIM2 */\r
550 \r
551 #ifdef _TIM3\r
552   #define TIM3                  ((TIM_TypeDef *) TIM3_BASE)\r
553 #endif /*_TIM3 */\r
554 \r
555 #ifdef _TIM4\r
556   #define TIM4                  ((TIM_TypeDef *) TIM4_BASE)\r
557 #endif /*_TIM4 */\r
558 \r
559 #ifdef _RTC\r
560   #define RTC                   ((RTC_TypeDef *) RTC_BASE)\r
561 #endif /*_RTC */\r
562 \r
563 #ifdef _WWDG\r
564   #define WWDG                  ((WWDG_TypeDef *) WWDG_BASE)\r
565 #endif /*_WWDG */\r
566 \r
567 #ifdef _IWDG\r
568   #define IWDG                  ((IWDG_TypeDef *) IWDG_BASE)\r
569 #endif /*_IWDG */\r
570 \r
571 #ifdef _SPI2\r
572   #define SPI2                  ((SPI_TypeDef *) SPI2_BASE)\r
573 #endif /*_SPI2 */\r
574 \r
575 #ifdef _USART2\r
576   #define USART2                ((USART_TypeDef *) USART2_BASE)\r
577 #endif /*_USART2 */\r
578 \r
579 #ifdef _USART3\r
580   #define USART3                ((USART_TypeDef *) USART3_BASE)\r
581 #endif /*_USART3 */\r
582 \r
583 #ifdef _I2C1\r
584   #define I2C1                  ((I2C_TypeDef *) I2C1_BASE)\r
585 #endif /*_I2C1 */\r
586 \r
587 #ifdef _I2C2\r
588   #define I2C2                  ((I2C_TypeDef *) I2C2_BASE)\r
589 #endif /*_I2C2 */\r
590 \r
591 #ifdef _CAN\r
592   #define CAN                   ((CAN_TypeDef *) CAN_BASE)\r
593 #endif /*_CAN */\r
594 \r
595 #ifdef _BKP\r
596   #define BKP                   ((BKP_TypeDef *) BKP_BASE)\r
597 #endif /*_BKP */\r
598 \r
599 #ifdef _PWR\r
600   #define PWR                   ((PWR_TypeDef *) PWR_BASE)\r
601 #endif /*_PWR */\r
602 \r
603 #ifdef _AFIO\r
604   #define AFIO                  ((AFIO_TypeDef *) AFIO_BASE)\r
605 #endif /*_AFIO */\r
606 \r
607 #ifdef _EXTI\r
608   #define EXTI                  ((EXTI_TypeDef *) EXTI_BASE)\r
609 #endif /*_EXTI */\r
610 \r
611 #ifdef _GPIOA\r
612   #define GPIOA                 ((GPIO_TypeDef *) GPIOA_BASE)\r
613 #endif /*_GPIOA */\r
614 \r
615 #ifdef _GPIOB\r
616   #define GPIOB                 ((GPIO_TypeDef *) GPIOB_BASE)\r
617 #endif /*_GPIOB */\r
618 \r
619 #ifdef _GPIOC\r
620   #define GPIOC                 ((GPIO_TypeDef *) GPIOC_BASE)\r
621 #endif /*_GPIOC */\r
622 \r
623 #ifdef _GPIOD\r
624   #define GPIOD                 ((GPIO_TypeDef *) GPIOD_BASE)\r
625 #endif /*_GPIOD */\r
626 \r
627 #ifdef _GPIOE\r
628   #define GPIOE                 ((GPIO_TypeDef *) GPIOE_BASE)\r
629 #endif /*_GPIOE */\r
630 \r
631 #ifdef _ADC1\r
632   #define ADC1                  ((ADC_TypeDef *) ADC1_BASE)\r
633 #endif /*_ADC1 */\r
634 \r
635 #ifdef _ADC2\r
636   #define ADC2                  ((ADC_TypeDef *) ADC2_BASE)\r
637 #endif /*_ADC2 */\r
638 \r
639 #ifdef _TIM1\r
640   #define TIM1                  ((TIM1_TypeDef *) TIM1_BASE)\r
641 #endif /*_TIM1 */\r
642 \r
643 #ifdef _SPI1\r
644   #define SPI1                  ((SPI_TypeDef *) SPI1_BASE)\r
645 #endif /*_SPI1 */\r
646 \r
647 #ifdef _USART1\r
648   #define USART1                ((USART_TypeDef *) USART1_BASE)\r
649 #endif /*_USART1 */\r
650 \r
651 #ifdef _DMA\r
652   #define DMA                   ((DMA_TypeDef *) DMA_BASE)\r
653 #endif /*_DMA */\r
654 \r
655 #ifdef _DMA_Channel1\r
656   #define DMA_Channel1          ((DMA_Channel_TypeDef *) DMA_Channel1_BASE)\r
657 #endif /*_DMA_Channel1 */\r
658 \r
659 #ifdef _DMA_Channel2\r
660   #define DMA_Channel2          ((DMA_Channel_TypeDef *) DMA_Channel2_BASE)\r
661 #endif /*_DMA_Channel2 */\r
662 \r
663 #ifdef _DMA_Channel3\r
664   #define DMA_Channel3          ((DMA_Channel_TypeDef *) DMA_Channel3_BASE)\r
665 #endif /*_DMA_Channel3 */\r
666 \r
667 #ifdef _DMA_Channel4\r
668   #define DMA_Channel4          ((DMA_Channel_TypeDef *) DMA_Channel4_BASE)\r
669 #endif /*_DMA_Channel4 */\r
670 \r
671 #ifdef _DMA_Channel5\r
672   #define DMA_Channel5          ((DMA_Channel_TypeDef *) DMA_Channel5_BASE)\r
673 #endif /*_DMA_Channel5 */\r
674 \r
675 #ifdef _DMA_Channel6\r
676   #define DMA_Channel6          ((DMA_Channel_TypeDef *) DMA_Channel6_BASE)\r
677 #endif /*_DMA_Channel6 */\r
678 \r
679 #ifdef _DMA_Channel7\r
680   #define DMA_Channel7          ((DMA_Channel_TypeDef *) DMA_Channel7_BASE)\r
681 #endif /*_DMA_Channel7 */\r
682 \r
683 #ifdef _FLASH\r
684   #define FLASH                 ((FLASH_TypeDef *) FLASH_BASE)\r
685   #define OB                    ((OB_TypeDef *) OB_BASE)\r
686 #endif /*_FLASH */\r
687 \r
688 #ifdef _RCC\r
689   #define RCC                   ((RCC_TypeDef *) RCC_BASE)\r
690 #endif /*_RCC */\r
691 \r
692 #ifdef _SysTick\r
693   #define SysTick               ((SysTick_TypeDef *) SysTick_BASE)\r
694 #endif /*_SysTick */\r
695 \r
696 #ifdef _NVIC\r
697   #define NVIC                  ((NVIC_TypeDef *) NVIC_BASE)\r
698 #endif /*_NVIC */\r
699 \r
700 #ifdef _SCB\r
701   #define SCB                   ((SCB_TypeDef *) SCB_BASE)\r
702 #endif /*_SCB */\r
703 /*----------------------  Debug Mode -----------------------------------------*/\r
704 #else   /* DEBUG */\r
705 #ifdef _TIM2\r
706   EXT TIM_TypeDef             *TIM2;\r
707 #endif /*_TIM2 */\r
708 \r
709 #ifdef _TIM3\r
710   EXT TIM_TypeDef             *TIM3;\r
711 #endif /*_TIM3 */\r
712 \r
713 #ifdef _TIM4\r
714   EXT TIM_TypeDef             *TIM4;\r
715 #endif /*_TIM4 */\r
716 \r
717 #ifdef _RTC\r
718   EXT RTC_TypeDef             *RTC;\r
719 #endif /*_RTC */\r
720 \r
721 #ifdef _WWDG\r
722   EXT WWDG_TypeDef            *WWDG;\r
723 #endif /*_WWDG */\r
724 \r
725 #ifdef _IWDG\r
726   EXT IWDG_TypeDef            *IWDG;\r
727 #endif /*_IWDG */\r
728 \r
729 #ifdef _SPI2\r
730   EXT SPI_TypeDef             *SPI2;\r
731 #endif /*_SPI2 */\r
732 \r
733 #ifdef _USART2\r
734   EXT USART_TypeDef           *USART2;\r
735 #endif /*_USART2 */\r
736 \r
737 #ifdef _USART3\r
738   EXT USART_TypeDef           *USART3;\r
739 #endif /*_USART3 */\r
740 \r
741 #ifdef _I2C1\r
742   EXT I2C_TypeDef             *I2C1;\r
743 #endif /*_I2C1 */\r
744 \r
745 #ifdef _I2C2\r
746   EXT I2C_TypeDef             *I2C2;\r
747 #endif /*_I2C2 */\r
748 \r
749 #ifdef _CAN\r
750   EXT CAN_TypeDef             *CAN;\r
751 #endif /*_CAN */\r
752 \r
753 #ifdef _BKP\r
754   EXT BKP_TypeDef             *BKP;\r
755 #endif /*_BKP */\r
756 \r
757 #ifdef _PWR\r
758   EXT PWR_TypeDef             *PWR;\r
759 #endif /*_PWR */\r
760 \r
761 #ifdef _AFIO\r
762   EXT AFIO_TypeDef            *AFIO;\r
763 #endif /*_AFIO */\r
764 \r
765 #ifdef _EXTI\r
766   EXT EXTI_TypeDef            *EXTI;\r
767 #endif /*_EXTI */\r
768 \r
769 #ifdef _GPIOA\r
770   EXT GPIO_TypeDef            *GPIOA;\r
771 #endif /*_GPIOA */\r
772 \r
773 #ifdef _GPIOB\r
774   EXT GPIO_TypeDef            *GPIOB;\r
775 #endif /*_GPIOB */\r
776 \r
777 #ifdef _GPIOC\r
778   EXT GPIO_TypeDef            *GPIOC;\r
779 #endif /*_GPIOC */\r
780 \r
781 #ifdef _GPIOD\r
782   EXT GPIO_TypeDef            *GPIOD;\r
783 #endif /*_GPIOD */\r
784 \r
785 #ifdef _GPIOE\r
786   EXT GPIO_TypeDef            *GPIOE;\r
787 #endif /*_GPIOE */\r
788 \r
789 #ifdef _ADC1\r
790   EXT ADC_TypeDef             *ADC1;\r
791 #endif /*_ADC1 */\r
792 \r
793 #ifdef _ADC2\r
794   EXT ADC_TypeDef             *ADC2;\r
795 #endif /*_ADC2 */\r
796 \r
797 #ifdef _TIM1\r
798   EXT TIM1_TypeDef            *TIM1;\r
799 #endif /*_TIM1 */\r
800 \r
801 #ifdef _SPI1\r
802   EXT SPI_TypeDef             *SPI1;\r
803 #endif /*_SPI1 */\r
804 \r
805 #ifdef _USART1\r
806   EXT USART_TypeDef           *USART1;\r
807 #endif /*_USART1 */\r
808 \r
809 #ifdef _DMA\r
810   EXT DMA_TypeDef             *DMA;\r
811 #endif /*_DMA */\r
812 \r
813 #ifdef _DMA_Channel1\r
814   EXT DMA_Channel_TypeDef     *DMA_Channel1;\r
815 #endif /*_DMA_Channel1 */\r
816 \r
817 #ifdef _DMA_Channel2\r
818   EXT DMA_Channel_TypeDef     *DMA_Channel2;\r
819 #endif /*_DMA_Channel2 */\r
820 \r
821 #ifdef _DMA_Channel3\r
822   EXT DMA_Channel_TypeDef     *DMA_Channel3;\r
823 #endif /*_DMA_Channel3 */\r
824 \r
825 #ifdef _DMA_Channel4\r
826   EXT DMA_Channel_TypeDef     *DMA_Channel4;\r
827 #endif /*_DMA_Channel4 */\r
828 \r
829 #ifdef _DMA_Channel5\r
830   EXT DMA_Channel_TypeDef     *DMA_Channel5;\r
831 #endif /*_DMA_Channel5 */\r
832 \r
833 #ifdef _DMA_Channel6\r
834   EXT DMA_Channel_TypeDef     *DMA_Channel6;\r
835 #endif /*_DMA_Channel6 */\r
836 \r
837 #ifdef _DMA_Channel7\r
838   EXT DMA_Channel_TypeDef     *DMA_Channel7;\r
839 #endif /*_DMA_Channel7 */\r
840 \r
841 #ifdef _FLASH\r
842   EXT FLASH_TypeDef            *FLASH;\r
843   EXT OB_TypeDef               *OB;\r
844 #endif /*_FLASH */\r
845 \r
846 #ifdef _RCC\r
847   EXT RCC_TypeDef             *RCC;\r
848 #endif /*_RCC */\r
849 \r
850 #ifdef _SysTick\r
851   EXT SysTick_TypeDef         *SysTick;\r
852 #endif /*_SysTick */\r
853 \r
854 #ifdef _NVIC\r
855   EXT NVIC_TypeDef            *NVIC;\r
856 #endif /*_NVIC */\r
857 \r
858 #ifdef _SCB\r
859   EXT SCB_TypeDef             *SCB;\r
860 #endif /*_SCB */\r
861 \r
862 #endif  /* DEBUG */\r
863 \r
864 /* Exported constants --------------------------------------------------------*/\r
865 /* Exported macro ------------------------------------------------------------*/\r
866 /* Exported functions ------------------------------------------------------- */\r
867 \r
868 #endif /* __STM32F10x_MAP_H */\r
869 \r
870 /******************* (C) COPYRIGHT 2007 STMicroelectronics *****END OF FILE****/\r