OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [CORTEX_STM32F103_GCC_Rowley/] [ST Library/] [inc/] [stm32f10x_map.h] - Blame information for rev 582

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 582 jeremybenn
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
2
* File Name          : stm32f10x_map.h
3
* Author             : MCD Application Team
4
* Version            : V2.0.1
5
* Date               : 06/13/2008
6
* Description        : This file contains all the peripheral register's definitions
7
*                      and memory mapping.
8
********************************************************************************
9
* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
10
* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
11
* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
12
* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
13
* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
14
* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
15
*******************************************************************************/
16
 
17
/* Define to prevent recursive inclusion -------------------------------------*/
18
#ifndef __STM32F10x_MAP_H
19
#define __STM32F10x_MAP_H
20
 
21
#ifndef EXT
22
  #define EXT extern
23
#endif /* EXT */
24
 
25
/* Includes ------------------------------------------------------------------*/
26
#include "stm32f10x_conf.h"
27
#include "stm32f10x_type.h"
28
#include "cortexm3_macro.h"
29
 
30
/* Exported types ------------------------------------------------------------*/
31
/******************************************************************************/
32
/*                         Peripheral registers structures                    */
33
/******************************************************************************/
34
 
35
/*------------------------ Analog to Digital Converter -----------------------*/
36
typedef struct
37
{
38
  vu32 SR;
39
  vu32 CR1;
40
  vu32 CR2;
41
  vu32 SMPR1;
42
  vu32 SMPR2;
43
  vu32 JOFR1;
44
  vu32 JOFR2;
45
  vu32 JOFR3;
46
  vu32 JOFR4;
47
  vu32 HTR;
48
  vu32 LTR;
49
  vu32 SQR1;
50
  vu32 SQR2;
51
  vu32 SQR3;
52
  vu32 JSQR;
53
  vu32 JDR1;
54
  vu32 JDR2;
55
  vu32 JDR3;
56
  vu32 JDR4;
57
  vu32 DR;
58
} ADC_TypeDef;
59
 
60
/*------------------------ Backup Registers ----------------------------------*/
61
typedef struct
62
{
63
  u32  RESERVED0;
64
  vu16 DR1;
65
  u16  RESERVED1;
66
  vu16 DR2;
67
  u16  RESERVED2;
68
  vu16 DR3;
69
  u16  RESERVED3;
70
  vu16 DR4;
71
  u16  RESERVED4;
72
  vu16 DR5;
73
  u16  RESERVED5;
74
  vu16 DR6;
75
  u16  RESERVED6;
76
  vu16 DR7;
77
  u16  RESERVED7;
78
  vu16 DR8;
79
  u16  RESERVED8;
80
  vu16 DR9;
81
  u16  RESERVED9;
82
  vu16 DR10;
83
  u16  RESERVED10;
84
  vu16 RTCCR;
85
  u16  RESERVED11;
86
  vu16 CR;
87
  u16  RESERVED12;
88
  vu16 CSR;
89
  u16  RESERVED13[5];
90
  vu16 DR11;
91
  u16  RESERVED14;
92
  vu16 DR12;
93
  u16  RESERVED15;
94
  vu16 DR13;
95
  u16  RESERVED16;
96
  vu16 DR14;
97
  u16  RESERVED17;
98
  vu16 DR15;
99
  u16  RESERVED18;
100
  vu16 DR16;
101
  u16  RESERVED19;
102
  vu16 DR17;
103
  u16  RESERVED20;
104
  vu16 DR18;
105
  u16  RESERVED21;
106
  vu16 DR19;
107
  u16  RESERVED22;
108
  vu16 DR20;
109
  u16  RESERVED23;
110
  vu16 DR21;
111
  u16  RESERVED24;
112
  vu16 DR22;
113
  u16  RESERVED25;
114
  vu16 DR23;
115
  u16  RESERVED26;
116
  vu16 DR24;
117
  u16  RESERVED27;
118
  vu16 DR25;
119
  u16  RESERVED28;
120
  vu16 DR26;
121
  u16  RESERVED29;
122
  vu16 DR27;
123
  u16  RESERVED30;
124
  vu16 DR28;
125
  u16  RESERVED31;
126
  vu16 DR29;
127
  u16  RESERVED32;
128
  vu16 DR30;
129
  u16  RESERVED33;
130
  vu16 DR31;
131
  u16  RESERVED34;
132
  vu16 DR32;
133
  u16  RESERVED35;
134
  vu16 DR33;
135
  u16  RESERVED36;
136
  vu16 DR34;
137
  u16  RESERVED37;
138
  vu16 DR35;
139
  u16  RESERVED38;
140
  vu16 DR36;
141
  u16  RESERVED39;
142
  vu16 DR37;
143
  u16  RESERVED40;
144
  vu16 DR38;
145
  u16  RESERVED41;
146
  vu16 DR39;
147
  u16  RESERVED42;
148
  vu16 DR40;
149
  u16  RESERVED43;
150
  vu16 DR41;
151
  u16  RESERVED44;
152
  vu16 DR42;
153
  u16  RESERVED45;
154
} BKP_TypeDef;
155
 
156
/*------------------------ Controller Area Network ---------------------------*/
157
typedef struct
158
{
159
  vu32 TIR;
160
  vu32 TDTR;
161
  vu32 TDLR;
162
  vu32 TDHR;
163
} CAN_TxMailBox_TypeDef;
164
 
165
typedef struct
166
{
167
  vu32 RIR;
168
  vu32 RDTR;
169
  vu32 RDLR;
170
  vu32 RDHR;
171
} CAN_FIFOMailBox_TypeDef;
172
 
173
typedef struct
174
{
175
  vu32 FR1;
176
  vu32 FR2;
177
} CAN_FilterRegister_TypeDef;
178
 
179
typedef struct
180
{
181
  vu32 MCR;
182
  vu32 MSR;
183
  vu32 TSR;
184
  vu32 RF0R;
185
  vu32 RF1R;
186
  vu32 IER;
187
  vu32 ESR;
188
  vu32 BTR;
189
  u32  RESERVED0[88];
190
  CAN_TxMailBox_TypeDef sTxMailBox[3];
191
  CAN_FIFOMailBox_TypeDef sFIFOMailBox[2];
192
  u32  RESERVED1[12];
193
  vu32 FMR;
194
  vu32 FM1R;
195
  u32  RESERVED2;
196
  vu32 FS1R;
197
  u32  RESERVED3;
198
  vu32 FFA1R;
199
  u32  RESERVED4;
200
  vu32 FA1R;
201
  u32  RESERVED5[8];
202
  CAN_FilterRegister_TypeDef sFilterRegister[14];
203
} CAN_TypeDef;
204
 
205
/*------------------------ CRC calculation unit ------------------------------*/
206
typedef struct
207
{
208
  vu32 DR;
209
  vu8  IDR;
210
  u8   RESERVED0;
211
  u16  RESERVED1;
212
  vu32 CR;
213
} CRC_TypeDef;
214
 
215
 
216
/*------------------------ Digital to Analog Converter -----------------------*/
217
typedef struct
218
{
219
  vu32 CR;
220
  vu32 SWTRIGR;
221
  vu32 DHR12R1;
222
  vu32 DHR12L1;
223
  vu32 DHR8R1;
224
  vu32 DHR12R2;
225
  vu32 DHR12L2;
226
  vu32 DHR8R2;
227
  vu32 DHR12RD;
228
  vu32 DHR12LD;
229
  vu32 DHR8RD;
230
  vu32 DOR1;
231
  vu32 DOR2;
232
} DAC_TypeDef;
233
 
234
/*------------------------ Debug MCU -----------------------------------------*/
235
typedef struct
236
{
237
  vu32 IDCODE;
238
  vu32 CR;
239
}DBGMCU_TypeDef;
240
 
241
/*------------------------ DMA Controller ------------------------------------*/
242
typedef struct
243
{
244
  vu32 CCR;
245
  vu32 CNDTR;
246
  vu32 CPAR;
247
  vu32 CMAR;
248
} DMA_Channel_TypeDef;
249
 
250
typedef struct
251
{
252
  vu32 ISR;
253
  vu32 IFCR;
254
} DMA_TypeDef;
255
 
256
/*------------------------ External Interrupt/Event Controller ---------------*/
257
typedef struct
258
{
259
  vu32 IMR;
260
  vu32 EMR;
261
  vu32 RTSR;
262
  vu32 FTSR;
263
  vu32 SWIER;
264
  vu32 PR;
265
} EXTI_TypeDef;
266
 
267
/*------------------------ FLASH and Option Bytes Registers ------------------*/
268
typedef struct
269
{
270
  vu32 ACR;
271
  vu32 KEYR;
272
  vu32 OPTKEYR;
273
  vu32 SR;
274
  vu32 CR;
275
  vu32 AR;
276
  vu32 RESERVED;
277
  vu32 OBR;
278
  vu32 WRPR;
279
} FLASH_TypeDef;
280
 
281
typedef struct
282
{
283
  vu16 RDP;
284
  vu16 USER;
285
  vu16 Data0;
286
  vu16 Data1;
287
  vu16 WRP0;
288
  vu16 WRP1;
289
  vu16 WRP2;
290
  vu16 WRP3;
291
} OB_TypeDef;
292
 
293
/*------------------------ Flexible Static Memory Controller -----------------*/
294
typedef struct
295
{
296
  vu32 BTCR[8];
297
} FSMC_Bank1_TypeDef;
298
 
299
typedef struct
300
{
301
  vu32 BWTR[7];
302
} FSMC_Bank1E_TypeDef;
303
 
304
typedef struct
305
{
306
  vu32 PCR2;
307
  vu32 SR2;
308
  vu32 PMEM2;
309
  vu32 PATT2;
310
  u32  RESERVED0;
311
  vu32 ECCR2;
312
} FSMC_Bank2_TypeDef;
313
 
314
typedef struct
315
{
316
  vu32 PCR3;
317
  vu32 SR3;
318
  vu32 PMEM3;
319
  vu32 PATT3;
320
  u32  RESERVED0;
321
  vu32 ECCR3;
322
} FSMC_Bank3_TypeDef;
323
 
324
typedef struct
325
{
326
  vu32 PCR4;
327
  vu32 SR4;
328
  vu32 PMEM4;
329
  vu32 PATT4;
330
  vu32 PIO4;
331
} FSMC_Bank4_TypeDef;
332
 
333
/*------------------------ General Purpose and Alternate Function IO ---------*/
334
typedef struct
335
{
336
  vu32 CRL;
337
  vu32 CRH;
338
  vu32 IDR;
339
  vu32 ODR;
340
  vu32 BSRR;
341
  vu32 BRR;
342
  vu32 LCKR;
343
} GPIO_TypeDef;
344
 
345
typedef struct
346
{
347
  vu32 EVCR;
348
  vu32 MAPR;
349
  vu32 EXTICR[4];
350
} AFIO_TypeDef;
351
 
352
/*------------------------ Inter-integrated Circuit Interface ----------------*/
353
typedef struct
354
{
355
  vu16 CR1;
356
  u16  RESERVED0;
357
  vu16 CR2;
358
  u16  RESERVED1;
359
  vu16 OAR1;
360
  u16  RESERVED2;
361
  vu16 OAR2;
362
  u16  RESERVED3;
363
  vu16 DR;
364
  u16  RESERVED4;
365
  vu16 SR1;
366
  u16  RESERVED5;
367
  vu16 SR2;
368
  u16  RESERVED6;
369
  vu16 CCR;
370
  u16  RESERVED7;
371
  vu16 TRISE;
372
  u16  RESERVED8;
373
} I2C_TypeDef;
374
 
375
/*------------------------ Independent WATCHDOG ------------------------------*/
376
typedef struct
377
{
378
  vu32 KR;
379
  vu32 PR;
380
  vu32 RLR;
381
  vu32 SR;
382
} IWDG_TypeDef;
383
 
384
/*------------------------ Nested Vectored Interrupt Controller --------------*/
385
typedef struct
386
{
387
  vu32 ISER[2];
388
  u32  RESERVED0[30];
389
  vu32 ICER[2];
390
  u32  RSERVED1[30];
391
  vu32 ISPR[2];
392
  u32  RESERVED2[30];
393
  vu32 ICPR[2];
394
  u32  RESERVED3[30];
395
  vu32 IABR[2];
396
  u32  RESERVED4[62];
397
  vu32 IPR[15];
398
} NVIC_TypeDef;
399
 
400
typedef struct
401
{
402
  vuc32 CPUID;
403
  vu32 ICSR;
404
  vu32 VTOR;
405
  vu32 AIRCR;
406
  vu32 SCR;
407
  vu32 CCR;
408
  vu32 SHPR[3];
409
  vu32 SHCSR;
410
  vu32 CFSR;
411
  vu32 HFSR;
412
  vu32 DFSR;
413
  vu32 MMFAR;
414
  vu32 BFAR;
415
  vu32 AFSR;
416
} SCB_TypeDef;
417
 
418
/*------------------------ Power Control -------------------------------------*/
419
typedef struct
420
{
421
  vu32 CR;
422
  vu32 CSR;
423
} PWR_TypeDef;
424
 
425
/*------------------------ Reset and Clock Control ---------------------------*/
426
typedef struct
427
{
428
  vu32 CR;
429
  vu32 CFGR;
430
  vu32 CIR;
431
  vu32 APB2RSTR;
432
  vu32 APB1RSTR;
433
  vu32 AHBENR;
434
  vu32 APB2ENR;
435
  vu32 APB1ENR;
436
  vu32 BDCR;
437
  vu32 CSR;
438
} RCC_TypeDef;
439
 
440
/*------------------------ Real-Time Clock -----------------------------------*/
441
typedef struct
442
{
443
  vu16 CRH;
444
  u16  RESERVED0;
445
  vu16 CRL;
446
  u16  RESERVED1;
447
  vu16 PRLH;
448
  u16  RESERVED2;
449
  vu16 PRLL;
450
  u16  RESERVED3;
451
  vu16 DIVH;
452
  u16  RESERVED4;
453
  vu16 DIVL;
454
  u16  RESERVED5;
455
  vu16 CNTH;
456
  u16  RESERVED6;
457
  vu16 CNTL;
458
  u16  RESERVED7;
459
  vu16 ALRH;
460
  u16  RESERVED8;
461
  vu16 ALRL;
462
  u16  RESERVED9;
463
} RTC_TypeDef;
464
 
465
/*------------------------ SD host Interface ---------------------------------*/
466
typedef struct
467
{
468
  vu32 POWER;
469
  vu32 CLKCR;
470
  vu32 ARG;
471
  vu32 CMD;
472
  vuc32 RESPCMD;
473
  vuc32 RESP1;
474
  vuc32 RESP2;
475
  vuc32 RESP3;
476
  vuc32 RESP4;
477
  vu32 DTIMER;
478
  vu32 DLEN;
479
  vu32 DCTRL;
480
  vuc32 DCOUNT;
481
  vuc32 STA;
482
  vu32 ICR;
483
  vu32 MASK;
484
  u32  RESERVED0[2];
485
  vuc32 FIFOCNT;
486
  u32  RESERVED1[13];
487
  vu32 FIFO;
488
} SDIO_TypeDef;
489
 
490
/*------------------------ Serial Peripheral Interface -----------------------*/
491
typedef struct
492
{
493
  vu16 CR1;
494
  u16  RESERVED0;
495
  vu16 CR2;
496
  u16  RESERVED1;
497
  vu16 SR;
498
  u16  RESERVED2;
499
  vu16 DR;
500
  u16  RESERVED3;
501
  vu16 CRCPR;
502
  u16  RESERVED4;
503
  vu16 RXCRCR;
504
  u16  RESERVED5;
505
  vu16 TXCRCR;
506
  u16  RESERVED6;
507
  vu16 I2SCFGR;
508
  u16  RESERVED7;
509
  vu16 I2SPR;
510
  u16  RESERVED8;
511
} SPI_TypeDef;
512
 
513
/*------------------------ SystemTick ----------------------------------------*/
514
typedef struct
515
{
516
  vu32 CTRL;
517
  vu32 LOAD;
518
  vu32 VAL;
519
  vuc32 CALIB;
520
} SysTick_TypeDef;
521
 
522
/*------------------------ TIM -----------------------------------------------*/
523
typedef struct
524
{
525
  vu16 CR1;
526
  u16  RESERVED0;
527
  vu16 CR2;
528
  u16  RESERVED1;
529
  vu16 SMCR;
530
  u16  RESERVED2;
531
  vu16 DIER;
532
  u16  RESERVED3;
533
  vu16 SR;
534
  u16  RESERVED4;
535
  vu16 EGR;
536
  u16  RESERVED5;
537
  vu16 CCMR1;
538
  u16  RESERVED6;
539
  vu16 CCMR2;
540
  u16  RESERVED7;
541
  vu16 CCER;
542
  u16  RESERVED8;
543
  vu16 CNT;
544
  u16  RESERVED9;
545
  vu16 PSC;
546
  u16  RESERVED10;
547
  vu16 ARR;
548
  u16  RESERVED11;
549
  vu16 RCR;
550
  u16  RESERVED12;
551
  vu16 CCR1;
552
  u16  RESERVED13;
553
  vu16 CCR2;
554
  u16  RESERVED14;
555
  vu16 CCR3;
556
  u16  RESERVED15;
557
  vu16 CCR4;
558
  u16  RESERVED16;
559
  vu16 BDTR;
560
  u16  RESERVED17;
561
  vu16 DCR;
562
  u16  RESERVED18;
563
  vu16 DMAR;
564
  u16  RESERVED19;
565
} TIM_TypeDef;
566
 
567
/*----------------- Universal Synchronous Asynchronous Receiver Transmitter --*/
568
typedef struct
569
{
570
  vu16 SR;
571
  u16  RESERVED0;
572
  vu16 DR;
573
  u16  RESERVED1;
574
  vu16 BRR;
575
  u16  RESERVED2;
576
  vu16 CR1;
577
  u16  RESERVED3;
578
  vu16 CR2;
579
  u16  RESERVED4;
580
  vu16 CR3;
581
  u16  RESERVED5;
582
  vu16 GTPR;
583
  u16  RESERVED6;
584
} USART_TypeDef;
585
 
586
/*------------------------ Window WATCHDOG -----------------------------------*/
587
typedef struct
588
{
589
  vu32 CR;
590
  vu32 CFR;
591
  vu32 SR;
592
} WWDG_TypeDef;
593
 
594
/******************************************************************************/
595
/*                         Peripheral memory map                              */
596
/******************************************************************************/
597
/* Peripheral and SRAM base address in the alias region */
598
#define PERIPH_BB_BASE        ((u32)0x42000000)
599
#define SRAM_BB_BASE          ((u32)0x22000000)
600
 
601
/* Peripheral and SRAM base address in the bit-band region */
602
#define SRAM_BASE             ((u32)0x20000000)
603
#define PERIPH_BASE           ((u32)0x40000000)
604
 
605
/* FSMC registers base address */
606
#define FSMC_R_BASE           ((u32)0xA0000000)
607
 
608
/* Peripheral memory map */
609
#define APB1PERIPH_BASE       PERIPH_BASE
610
#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)
611
#define AHBPERIPH_BASE        (PERIPH_BASE + 0x20000)
612
 
613
#define TIM2_BASE             (APB1PERIPH_BASE + 0x0000)
614
#define TIM3_BASE             (APB1PERIPH_BASE + 0x0400)
615
#define TIM4_BASE             (APB1PERIPH_BASE + 0x0800)
616
#define TIM5_BASE             (APB1PERIPH_BASE + 0x0C00)
617
#define TIM6_BASE             (APB1PERIPH_BASE + 0x1000)
618
#define TIM7_BASE             (APB1PERIPH_BASE + 0x1400)
619
#define RTC_BASE              (APB1PERIPH_BASE + 0x2800)
620
#define WWDG_BASE             (APB1PERIPH_BASE + 0x2C00)
621
#define IWDG_BASE             (APB1PERIPH_BASE + 0x3000)
622
#define SPI2_BASE             (APB1PERIPH_BASE + 0x3800)
623
#define SPI3_BASE             (APB1PERIPH_BASE + 0x3C00)
624
#define USART2_BASE           (APB1PERIPH_BASE + 0x4400)
625
#define USART3_BASE           (APB1PERIPH_BASE + 0x4800)
626
#define UART4_BASE            (APB1PERIPH_BASE + 0x4C00)
627
#define UART5_BASE            (APB1PERIPH_BASE + 0x5000)
628
#define I2C1_BASE             (APB1PERIPH_BASE + 0x5400)
629
#define I2C2_BASE             (APB1PERIPH_BASE + 0x5800)
630
#define CAN_BASE              (APB1PERIPH_BASE + 0x6400)
631
#define BKP_BASE              (APB1PERIPH_BASE + 0x6C00)
632
#define PWR_BASE              (APB1PERIPH_BASE + 0x7000)
633
#define DAC_BASE              (APB1PERIPH_BASE + 0x7400)
634
 
635
#define AFIO_BASE             (APB2PERIPH_BASE + 0x0000)
636
#define EXTI_BASE             (APB2PERIPH_BASE + 0x0400)
637
#define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)
638
#define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)
639
#define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)
640
#define GPIOD_BASE            (APB2PERIPH_BASE + 0x1400)
641
#define GPIOE_BASE            (APB2PERIPH_BASE + 0x1800)
642
#define GPIOF_BASE            (APB2PERIPH_BASE + 0x1C00)
643
#define GPIOG_BASE            (APB2PERIPH_BASE + 0x2000)
644
#define ADC1_BASE             (APB2PERIPH_BASE + 0x2400)
645
#define ADC2_BASE             (APB2PERIPH_BASE + 0x2800)
646
#define TIM1_BASE             (APB2PERIPH_BASE + 0x2C00)
647
#define SPI1_BASE             (APB2PERIPH_BASE + 0x3000)
648
#define TIM8_BASE             (APB2PERIPH_BASE + 0x3400)
649
#define USART1_BASE           (APB2PERIPH_BASE + 0x3800)
650
#define ADC3_BASE             (APB2PERIPH_BASE + 0x3C00)
651
 
652
#define SDIO_BASE             (PERIPH_BASE + 0x18000)
653
 
654
#define DMA1_BASE             (AHBPERIPH_BASE + 0x0000)
655
#define DMA1_Channel1_BASE    (AHBPERIPH_BASE + 0x0008)
656
#define DMA1_Channel2_BASE    (AHBPERIPH_BASE + 0x001C)
657
#define DMA1_Channel3_BASE    (AHBPERIPH_BASE + 0x0030)
658
#define DMA1_Channel4_BASE    (AHBPERIPH_BASE + 0x0044)
659
#define DMA1_Channel5_BASE    (AHBPERIPH_BASE + 0x0058)
660
#define DMA1_Channel6_BASE    (AHBPERIPH_BASE + 0x006C)
661
#define DMA1_Channel7_BASE    (AHBPERIPH_BASE + 0x0080)
662
#define DMA2_BASE             (AHBPERIPH_BASE + 0x0400)
663
#define DMA2_Channel1_BASE    (AHBPERIPH_BASE + 0x0408)
664
#define DMA2_Channel2_BASE    (AHBPERIPH_BASE + 0x041C)
665
#define DMA2_Channel3_BASE    (AHBPERIPH_BASE + 0x0430)
666
#define DMA2_Channel4_BASE    (AHBPERIPH_BASE + 0x0444)
667
#define DMA2_Channel5_BASE    (AHBPERIPH_BASE + 0x0458)
668
#define RCC_BASE              (AHBPERIPH_BASE + 0x1000)
669
#define CRC_BASE              (AHBPERIPH_BASE + 0x3000)
670
 
671
/* Flash registers base address */
672
#define FLASH_R_BASE          (AHBPERIPH_BASE + 0x2000)
673
/* Flash Option Bytes base address */
674
#define OB_BASE               ((u32)0x1FFFF800)
675
 
676
/* FSMC Bankx registers base address */
677
#define FSMC_Bank1_R_BASE     (FSMC_R_BASE + 0x0000)
678
#define FSMC_Bank1E_R_BASE    (FSMC_R_BASE + 0x0104)
679
#define FSMC_Bank2_R_BASE     (FSMC_R_BASE + 0x0060)
680
#define FSMC_Bank3_R_BASE     (FSMC_R_BASE + 0x0080)
681
#define FSMC_Bank4_R_BASE     (FSMC_R_BASE + 0x00A0)
682
 
683
/* Debug MCU registers base address */
684
#define DBGMCU_BASE          ((u32)0xE0042000)
685
 
686
/* System Control Space memory map */
687
#define SCS_BASE              ((u32)0xE000E000)
688
 
689
#define SysTick_BASE          (SCS_BASE + 0x0010)
690
#define NVIC_BASE             (SCS_BASE + 0x0100)
691
#define SCB_BASE              (SCS_BASE + 0x0D00)
692
 
693
/******************************************************************************/
694
/*                         Peripheral declaration                             */
695
/******************************************************************************/
696
 
697
/*------------------------ Non Debug Mode ------------------------------------*/
698
#ifndef DEBUG
699
#ifdef _TIM2
700
  #define TIM2                ((TIM_TypeDef *) TIM2_BASE)
701
#endif /*_TIM2 */
702
 
703
#ifdef _TIM3
704
  #define TIM3                ((TIM_TypeDef *) TIM3_BASE)
705
#endif /*_TIM3 */
706
 
707
#ifdef _TIM4
708
  #define TIM4                ((TIM_TypeDef *) TIM4_BASE)
709
#endif /*_TIM4 */
710
 
711
#ifdef _TIM5
712
  #define TIM5                ((TIM_TypeDef *) TIM5_BASE)
713
#endif /*_TIM5 */
714
 
715
#ifdef _TIM6
716
  #define TIM6                ((TIM_TypeDef *) TIM6_BASE)
717
#endif /*_TIM6 */
718
 
719
#ifdef _TIM7
720
  #define TIM7                ((TIM_TypeDef *) TIM7_BASE)
721
#endif /*_TIM7 */
722
 
723
#ifdef _RTC
724
  #define RTC                 ((RTC_TypeDef *) RTC_BASE)
725
#endif /*_RTC */
726
 
727
#ifdef _WWDG
728
  #define WWDG                ((WWDG_TypeDef *) WWDG_BASE)
729
#endif /*_WWDG */
730
 
731
#ifdef _IWDG
732
  #define IWDG                ((IWDG_TypeDef *) IWDG_BASE)
733
#endif /*_IWDG */
734
 
735
#ifdef _SPI2
736
  #define SPI2                ((SPI_TypeDef *) SPI2_BASE)
737
#endif /*_SPI2 */
738
 
739
#ifdef _SPI3
740
  #define SPI3                ((SPI_TypeDef *) SPI3_BASE)
741
#endif /*_SPI3 */
742
 
743
#ifdef _USART2
744
  #define USART2              ((USART_TypeDef *) USART2_BASE)
745
#endif /*_USART2 */
746
 
747
#ifdef _USART3
748
  #define USART3              ((USART_TypeDef *) USART3_BASE)
749
#endif /*_USART3 */
750
 
751
#ifdef _UART4
752
  #define UART4              ((USART_TypeDef *) UART4_BASE)
753
#endif /*_UART4 */
754
 
755
#ifdef _UART5
756
  #define UART5              ((USART_TypeDef *) UART5_BASE)
757
#endif /*_USART5 */
758
 
759
#ifdef _I2C1
760
  #define I2C1                ((I2C_TypeDef *) I2C1_BASE)
761
#endif /*_I2C1 */
762
 
763
#ifdef _I2C2
764
  #define I2C2                ((I2C_TypeDef *) I2C2_BASE)
765
#endif /*_I2C2 */
766
 
767
#ifdef _CAN
768
  #define CAN                 ((CAN_TypeDef *) CAN_BASE)
769
#endif /*_CAN */
770
 
771
#ifdef _BKP
772
  #define BKP                 ((BKP_TypeDef *) BKP_BASE)
773
#endif /*_BKP */
774
 
775
#ifdef _PWR
776
  #define PWR                 ((PWR_TypeDef *) PWR_BASE)
777
#endif /*_PWR */
778
 
779
#ifdef _DAC
780
  #define DAC                 ((DAC_TypeDef *) DAC_BASE)
781
#endif /*_DAC */
782
 
783
#ifdef _AFIO
784
  #define AFIO                ((AFIO_TypeDef *) AFIO_BASE)
785
#endif /*_AFIO */
786
 
787
#ifdef _EXTI
788
  #define EXTI                ((EXTI_TypeDef *) EXTI_BASE)
789
#endif /*_EXTI */
790
 
791
#ifdef _GPIOA
792
  #define GPIOA               ((GPIO_TypeDef *) GPIOA_BASE)
793
#endif /*_GPIOA */
794
 
795
#ifdef _GPIOB
796
  #define GPIOB               ((GPIO_TypeDef *) GPIOB_BASE)
797
#endif /*_GPIOB */
798
 
799
#ifdef _GPIOC
800
  #define GPIOC               ((GPIO_TypeDef *) GPIOC_BASE)
801
#endif /*_GPIOC */
802
 
803
#ifdef _GPIOD
804
  #define GPIOD               ((GPIO_TypeDef *) GPIOD_BASE)
805
#endif /*_GPIOD */
806
 
807
#ifdef _GPIOE
808
  #define GPIOE               ((GPIO_TypeDef *) GPIOE_BASE)
809
#endif /*_GPIOE */
810
 
811
#ifdef _GPIOF
812
  #define GPIOF               ((GPIO_TypeDef *) GPIOF_BASE)
813
#endif /*_GPIOF */
814
 
815
#ifdef _GPIOG
816
  #define GPIOG               ((GPIO_TypeDef *) GPIOG_BASE)
817
#endif /*_GPIOG */
818
 
819
#ifdef _ADC1
820
  #define ADC1                ((ADC_TypeDef *) ADC1_BASE)
821
#endif /*_ADC1 */
822
 
823
#ifdef _ADC2
824
  #define ADC2                ((ADC_TypeDef *) ADC2_BASE)
825
#endif /*_ADC2 */
826
 
827
#ifdef _TIM1
828
  #define TIM1                ((TIM_TypeDef *) TIM1_BASE)
829
#endif /*_TIM1 */
830
 
831
#ifdef _SPI1
832
  #define SPI1                ((SPI_TypeDef *) SPI1_BASE)
833
#endif /*_SPI1 */
834
 
835
#ifdef _TIM8
836
  #define TIM8                ((TIM_TypeDef *) TIM8_BASE)
837
#endif /*_TIM8 */
838
 
839
#ifdef _USART1
840
  #define USART1              ((USART_TypeDef *) USART1_BASE)
841
#endif /*_USART1 */
842
 
843
#ifdef _ADC3
844
  #define ADC3                ((ADC_TypeDef *) ADC3_BASE)
845
#endif /*_ADC3 */
846
 
847
#ifdef _SDIO
848
  #define SDIO                ((SDIO_TypeDef *) SDIO_BASE)
849
#endif /*_SDIO */
850
 
851
#ifdef _DMA
852
  #define DMA1                ((DMA_TypeDef *) DMA1_BASE)
853
  #define DMA2                ((DMA_TypeDef *) DMA2_BASE)
854
#endif /*_DMA */
855
 
856
#ifdef _DMA1_Channel1
857
  #define DMA1_Channel1       ((DMA_Channel_TypeDef *) DMA1_Channel1_BASE)
858
#endif /*_DMA1_Channel1 */
859
 
860
#ifdef _DMA1_Channel2
861
  #define DMA1_Channel2       ((DMA_Channel_TypeDef *) DMA1_Channel2_BASE)
862
#endif /*_DMA1_Channel2 */
863
 
864
#ifdef _DMA1_Channel3
865
  #define DMA1_Channel3       ((DMA_Channel_TypeDef *) DMA1_Channel3_BASE)
866
#endif /*_DMA1_Channel3 */
867
 
868
#ifdef _DMA1_Channel4
869
  #define DMA1_Channel4       ((DMA_Channel_TypeDef *) DMA1_Channel4_BASE)
870
#endif /*_DMA1_Channel4 */
871
 
872
#ifdef _DMA1_Channel5
873
  #define DMA1_Channel5       ((DMA_Channel_TypeDef *) DMA1_Channel5_BASE)
874
#endif /*_DMA1_Channel5 */
875
 
876
#ifdef _DMA1_Channel6
877
  #define DMA1_Channel6       ((DMA_Channel_TypeDef *) DMA1_Channel6_BASE)
878
#endif /*_DMA1_Channel6 */
879
 
880
#ifdef _DMA1_Channel7
881
  #define DMA1_Channel7       ((DMA_Channel_TypeDef *) DMA1_Channel7_BASE)
882
#endif /*_DMA1_Channel7 */
883
 
884
#ifdef _DMA2_Channel1
885
  #define DMA2_Channel1       ((DMA_Channel_TypeDef *) DMA2_Channel1_BASE)
886
#endif /*_DMA2_Channel1 */
887
 
888
#ifdef _DMA2_Channel2
889
  #define DMA2_Channel2       ((DMA_Channel_TypeDef *) DMA2_Channel2_BASE)
890
#endif /*_DMA2_Channel2 */
891
 
892
#ifdef _DMA2_Channel3
893
  #define DMA2_Channel3       ((DMA_Channel_TypeDef *) DMA2_Channel3_BASE)
894
#endif /*_DMA2_Channel3 */
895
 
896
#ifdef _DMA2_Channel4
897
  #define DMA2_Channel4       ((DMA_Channel_TypeDef *) DMA2_Channel4_BASE)
898
#endif /*_DMA2_Channel4 */
899
 
900
#ifdef _DMA2_Channel5
901
  #define DMA2_Channel5       ((DMA_Channel_TypeDef *) DMA2_Channel5_BASE)
902
#endif /*_DMA2_Channel5 */
903
 
904
#ifdef _RCC
905
  #define RCC                 ((RCC_TypeDef *) RCC_BASE)
906
#endif /*_RCC */
907
 
908
#ifdef _CRC
909
  #define CRC                 ((CRC_TypeDef *) CRC_BASE)
910
#endif /*_CRC */
911
 
912
#ifdef _FLASH
913
  #define FLASH               ((FLASH_TypeDef *) FLASH_R_BASE)
914
  #define OB                  ((OB_TypeDef *) OB_BASE) 
915
#endif /*_FLASH */
916
 
917
#ifdef _FSMC
918
  #define FSMC_Bank1          ((FSMC_Bank1_TypeDef *) FSMC_Bank1_R_BASE)
919
  #define FSMC_Bank1E         ((FSMC_Bank1E_TypeDef *) FSMC_Bank1E_R_BASE)
920
  #define FSMC_Bank2          ((FSMC_Bank2_TypeDef *) FSMC_Bank2_R_BASE)
921
  #define FSMC_Bank3          ((FSMC_Bank3_TypeDef *) FSMC_Bank3_R_BASE)
922
  #define FSMC_Bank4          ((FSMC_Bank4_TypeDef *) FSMC_Bank4_R_BASE)
923
#endif /*_FSMC */
924
 
925
#ifdef _DBGMCU
926
  #define DBGMCU              ((DBGMCU_TypeDef *) DBGMCU_BASE)
927
#endif /*_DBGMCU */
928
 
929
#ifdef _SysTick
930
  #define SysTick             ((SysTick_TypeDef *) SysTick_BASE)
931
#endif /*_SysTick */
932
 
933
#ifdef _NVIC
934
  #define NVIC                ((NVIC_TypeDef *) NVIC_BASE)
935
  #define SCB                 ((SCB_TypeDef *) SCB_BASE)  
936
#endif /*_NVIC */
937
 
938
/*------------------------ Debug Mode ----------------------------------------*/
939
#else   /* DEBUG */
940
#ifdef _TIM2
941
  EXT TIM_TypeDef             *TIM2;
942
#endif /*_TIM2 */
943
 
944
#ifdef _TIM3
945
  EXT TIM_TypeDef             *TIM3;
946
#endif /*_TIM3 */
947
 
948
#ifdef _TIM4
949
  EXT TIM_TypeDef             *TIM4;
950
#endif /*_TIM4 */
951
 
952
#ifdef _TIM5
953
  EXT TIM_TypeDef             *TIM5;
954
#endif /*_TIM5 */
955
 
956
#ifdef _TIM6
957
  EXT TIM_TypeDef             *TIM6;
958
#endif /*_TIM6 */
959
 
960
#ifdef _TIM7
961
  EXT TIM_TypeDef             *TIM7;
962
#endif /*_TIM7 */
963
 
964
#ifdef _RTC
965
  EXT RTC_TypeDef             *RTC;
966
#endif /*_RTC */
967
 
968
#ifdef _WWDG
969
  EXT WWDG_TypeDef            *WWDG;
970
#endif /*_WWDG */
971
 
972
#ifdef _IWDG
973
  EXT IWDG_TypeDef            *IWDG;
974
#endif /*_IWDG */
975
 
976
#ifdef _SPI2
977
  EXT SPI_TypeDef             *SPI2;
978
#endif /*_SPI2 */
979
 
980
#ifdef _SPI3
981
  EXT SPI_TypeDef             *SPI3;
982
#endif /*_SPI3 */
983
 
984
#ifdef _USART2
985
  EXT USART_TypeDef           *USART2;
986
#endif /*_USART2 */
987
 
988
#ifdef _USART3
989
  EXT USART_TypeDef           *USART3;
990
#endif /*_USART3 */
991
 
992
#ifdef _UART4
993
  EXT USART_TypeDef           *UART4;
994
#endif /*_UART4 */
995
 
996
#ifdef _UART5
997
  EXT USART_TypeDef           *UART5;
998
#endif /*_UART5 */
999
 
1000
#ifdef _I2C1
1001
  EXT I2C_TypeDef             *I2C1;
1002
#endif /*_I2C1 */
1003
 
1004
#ifdef _I2C2
1005
  EXT I2C_TypeDef             *I2C2;
1006
#endif /*_I2C2 */
1007
 
1008
#ifdef _CAN
1009
  EXT CAN_TypeDef             *CAN;
1010
#endif /*_CAN */
1011
 
1012
#ifdef _BKP
1013
  EXT BKP_TypeDef             *BKP;
1014
#endif /*_BKP */
1015
 
1016
#ifdef _PWR
1017
  EXT PWR_TypeDef             *PWR;
1018
#endif /*_PWR */
1019
 
1020
#ifdef _DAC
1021
  EXT DAC_TypeDef             *DAC;
1022
#endif /*_DAC */
1023
 
1024
#ifdef _AFIO
1025
  EXT AFIO_TypeDef            *AFIO;
1026
#endif /*_AFIO */
1027
 
1028
#ifdef _EXTI
1029
  EXT EXTI_TypeDef            *EXTI;
1030
#endif /*_EXTI */
1031
 
1032
#ifdef _GPIOA
1033
  EXT GPIO_TypeDef            *GPIOA;
1034
#endif /*_GPIOA */
1035
 
1036
#ifdef _GPIOB
1037
  EXT GPIO_TypeDef            *GPIOB;
1038
#endif /*_GPIOB */
1039
 
1040
#ifdef _GPIOC
1041
  EXT GPIO_TypeDef            *GPIOC;
1042
#endif /*_GPIOC */
1043
 
1044
#ifdef _GPIOD
1045
  EXT GPIO_TypeDef            *GPIOD;
1046
#endif /*_GPIOD */
1047
 
1048
#ifdef _GPIOE
1049
  EXT GPIO_TypeDef            *GPIOE;
1050
#endif /*_GPIOE */
1051
 
1052
#ifdef _GPIOF
1053
  EXT GPIO_TypeDef            *GPIOF;
1054
#endif /*_GPIOF */
1055
 
1056
#ifdef _GPIOG
1057
  EXT GPIO_TypeDef            *GPIOG;
1058
#endif /*_GPIOG */
1059
 
1060
#ifdef _ADC1
1061
  EXT ADC_TypeDef             *ADC1;
1062
#endif /*_ADC1 */
1063
 
1064
#ifdef _ADC2
1065
  EXT ADC_TypeDef             *ADC2;
1066
#endif /*_ADC2 */
1067
 
1068
#ifdef _TIM1
1069
  EXT TIM_TypeDef             *TIM1;
1070
#endif /*_TIM1 */
1071
 
1072
#ifdef _SPI1
1073
  EXT SPI_TypeDef             *SPI1;
1074
#endif /*_SPI1 */
1075
 
1076
#ifdef _TIM8
1077
  EXT TIM_TypeDef             *TIM8;
1078
#endif /*_TIM8 */
1079
 
1080
#ifdef _USART1
1081
  EXT USART_TypeDef           *USART1;
1082
#endif /*_USART1 */
1083
 
1084
#ifdef _ADC3
1085
  EXT ADC_TypeDef             *ADC3;
1086
#endif /*_ADC3 */
1087
 
1088
#ifdef _SDIO
1089
  EXT SDIO_TypeDef            *SDIO;
1090
#endif /*_SDIO */
1091
 
1092
#ifdef _DMA
1093
  EXT DMA_TypeDef             *DMA1;
1094
  EXT DMA_TypeDef             *DMA2;
1095
#endif /*_DMA */
1096
 
1097
#ifdef _DMA1_Channel1
1098
  EXT DMA_Channel_TypeDef     *DMA1_Channel1;
1099
#endif /*_DMA1_Channel1 */
1100
 
1101
#ifdef _DMA1_Channel2
1102
  EXT DMA_Channel_TypeDef     *DMA1_Channel2;
1103
#endif /*_DMA1_Channel2 */
1104
 
1105
#ifdef _DMA1_Channel3
1106
  EXT DMA_Channel_TypeDef     *DMA1_Channel3;
1107
#endif /*_DMA1_Channel3 */
1108
 
1109
#ifdef _DMA1_Channel4
1110
  EXT DMA_Channel_TypeDef     *DMA1_Channel4;
1111
#endif /*_DMA1_Channel4 */
1112
 
1113
#ifdef _DMA1_Channel5
1114
  EXT DMA_Channel_TypeDef     *DMA1_Channel5;
1115
#endif /*_DMA1_Channel5 */
1116
 
1117
#ifdef _DMA1_Channel6
1118
  EXT DMA_Channel_TypeDef     *DMA1_Channel6;
1119
#endif /*_DMA1_Channel6 */
1120
 
1121
#ifdef _DMA1_Channel7
1122
  EXT DMA_Channel_TypeDef     *DMA1_Channel7;
1123
#endif /*_DMA1_Channel7 */
1124
 
1125
#ifdef _DMA2_Channel1
1126
  EXT DMA_Channel_TypeDef     *DMA2_Channel1;
1127
#endif /*_DMA2_Channel1 */
1128
 
1129
#ifdef _DMA2_Channel2
1130
  EXT DMA_Channel_TypeDef     *DMA2_Channel2;
1131
#endif /*_DMA2_Channel2 */
1132
 
1133
#ifdef _DMA2_Channel3
1134
  EXT DMA_Channel_TypeDef     *DMA2_Channel3;
1135
#endif /*_DMA2_Channel3 */
1136
 
1137
#ifdef _DMA2_Channel4
1138
  EXT DMA_Channel_TypeDef     *DMA2_Channel4;
1139
#endif /*_DMA2_Channel4 */
1140
 
1141
#ifdef _DMA2_Channel5
1142
  EXT DMA_Channel_TypeDef     *DMA2_Channel5;
1143
#endif /*_DMA2_Channel5 */
1144
 
1145
#ifdef _RCC
1146
  EXT RCC_TypeDef             *RCC;
1147
#endif /*_RCC */
1148
 
1149
#ifdef _CRC
1150
  EXT CRC_TypeDef             *CRC;
1151
#endif /*_CRC */
1152
 
1153
#ifdef _FLASH
1154
  EXT FLASH_TypeDef            *FLASH;
1155
  EXT OB_TypeDef               *OB;
1156
#endif /*_FLASH */
1157
 
1158
#ifdef _FSMC
1159
  EXT FSMC_Bank1_TypeDef      *FSMC_Bank1;
1160
  EXT FSMC_Bank1E_TypeDef     *FSMC_Bank1E;
1161
  EXT FSMC_Bank2_TypeDef      *FSMC_Bank2;
1162
  EXT FSMC_Bank3_TypeDef      *FSMC_Bank3;
1163
  EXT FSMC_Bank4_TypeDef      *FSMC_Bank4;
1164
#endif /*_FSMC */
1165
 
1166
#ifdef _DBGMCU
1167
  EXT DBGMCU_TypeDef          *DBGMCU;
1168
#endif /*_DBGMCU */
1169
 
1170
#ifdef _SysTick
1171
  EXT SysTick_TypeDef         *SysTick;
1172
#endif /*_SysTick */
1173
 
1174
#ifdef _NVIC
1175
  EXT NVIC_TypeDef            *NVIC;
1176
  EXT SCB_TypeDef             *SCB;
1177
#endif /*_NVIC */
1178
 
1179
#endif  /* DEBUG */
1180
 
1181
/* Exported constants --------------------------------------------------------*/
1182
/* Exported macro ------------------------------------------------------------*/
1183
/* Exported functions ------------------------------------------------------- */
1184
 
1185
#endif /* __STM32F10x_MAP_H */
1186
 
1187
/******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.