RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
arm
stm32f4
include
bsp
stm32f4.h
Go to the documentation of this file.
1
6
7
/*
8
* Copyright (c) 2012 Sebastian Huber. All rights reserved.
9
*
10
* The license and distribution terms for this file may be
11
* found in the file LICENSE in this distribution or at
12
* http://www.rtems.org/license/LICENSE.
13
*/
14
15
#ifndef LIBBSP_ARM_STM32F4_STM32F4_H
16
#define LIBBSP_ARM_STM32F4_STM32F4_H
17
18
#include <
bsp/utility.h
>
19
#include <bspopts.h>
20
21
#define STM32F4_BASE 0x00
22
23
#ifdef STM32F4_FAMILY_F4XXXX
24
31
32
#define STM32F4_APB1_BASE (STM32F4_BASE + 0x40000000)
33
#define STM32F4_APB2_BASE (STM32F4_BASE + 0x40010000)
34
#define STM32F4_AHB1_BASE (STM32F4_BASE + 0x40020000)
35
#define STM32F4_AHB2_BASE (STM32F4_BASE + 0x50000000)
36
41
42
#include <
bsp/stm32f4xxxx_gpio.h
>
43
#define STM32F4_GPIO(i) ((volatile stm32f4_gpio *) (STM32F4_BASE + 0x40020000) + (i))
44
46
51
52
#include <
bsp/stm32f4xxxx_rcc.h
>
53
#define STM32F4_RCC ((volatile stm32f4_rcc *) (STM32F4_AHB1_BASE + 0x3800))
54
56
61
62
#include <bsp/stm32f4xxxx_flash.h>
63
#define STM32F4_FLASH ((volatile stm32f4_flash *) (STM32F4_BASE + 0x40023C00))
64
66
67
#include <
bsp/stm32_i2c.h
>
68
73
74
#define STM32F4_I2C3 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005C00))
75
#define STM32F4_I2C2 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005800))
76
#define STM32F4_I2C1 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005400))
77
79
84
85
#include <
bsp/stm32_usart.h
>
86
#define STM32F4_USART_1 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40011000))
87
#define STM32F4_USART_2 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004400))
88
#define STM32F4_USART_3 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004800))
89
#define STM32F4_USART_4 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004c00))
90
#define STM32F4_USART_5 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40005000))
91
#define STM32F4_USART_6 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40011400))
92
94
99
100
#include <bsp/stm32f4xxxx_pwr.h>
101
#define STM32F4_PWR ((volatile stm32f4_pwr *) (STM32F4_APB1_BASE + 0x7000))
102
104
109
110
#include <bsp/stm32f4xxxx_exti.h>
111
#define STM32F4_EXTI ((volatile stm32f4_exti *) (STM32F4_APB2_BASE + 0x3c00))
112
114
119
120
#include <bsp/stm32f4xxxx_syscfg.h>
121
#define STM32F4_SYSCFG ((volatile stm32f4_syscfg *) (STM32F4_APB2_BASE + 0x3800))
122
124
129
130
#include <bsp/stm32f4xxxx_flash.h>
131
#define STM32F4_FLASH ((volatile stm32f4_flash *) (STM32F4_AHB1_BASE + 0x3c00))
132
134
139
140
#include <bsp/stm32f4xxxx_tim.h>
141
#define STM32F4_TIM1 ((volatile stm32f4_tim *) (STM32F4_APB2_BASE + 0x0000))
142
#define STM32F4_TIM2 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x0000))
143
#define STM32F4_TIM3 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x0400))
144
#define STM32F4_TIM4 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x0800))
145
#define STM32F4_TIM5 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x0c00))
146
#define STM32F4_TIM6 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x1000))
147
#define STM32F4_TIM7 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x1400))
148
#define STM32F4_TIM8 ((volatile stm32f4_tim *) (STM32F4_APB2_BASE + 0x0400))
149
#define STM32F4_TIM9 ((volatile stm32f4_tim *) (STM32F4_APB2_BASE + 0x4000))
150
#define STM32F4_TIM10 ((volatile stm32f4_tim *) (STM32F4_APB2_BASE + 0x4400))
151
#define STM32F4_TIM11 ((volatile stm32f4_tim *) (STM32F4_APB2_BASE + 0x4800))
152
#define STM32F4_TIM12 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x1800))
153
#define STM32F4_TIM13 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x1c00))
154
#define STM32F4_TIM14 ((volatile stm32f4_tim *) (STM32F4_APB1_BASE + 0x2000))
155
157
162
163
#include <bsp/stm32f4xxxx_adc.h>
164
#define STM32F4_ADC1 ((volatile stm32f4_adc_chan *) (STM32F4_APB2_BASE + 0x2000))
165
#define STM32F4_ADC2 ((volatile stm32f4_adc_chan *) (STM32F4_APB2_BASE + 0x2100))
166
#define STM32F4_ADC3 ((volatile stm32f4_adc_chan *) (STM32F4_APB2_BASE + 0x2200))
167
#define STM32F4_ADC_COMMON ((volatile stm32f4_adc_com *) (STM32F4_APB2_BASE + 0x2300))
168
170
175
176
#include <bsp/stm32f4xxxx_otgfs.h>
177
#define STM32F4_OTGFS_BASE (STM32F4_AHB2_BASE + 0x0000)
178
#define STM32F4_OTGFS_CORE ((volatile stm32f4_otgfs *) (STM32F4_OTGFS_BASE + 0x000))
179
#define STM32F4_OTGFS_DEV ((volatile stm32f4_otgfs_dregs *) (STM32F4_OTGFS_BASE + 0x800))
180
#define STM32F4_OTGFS_INEP ((volatile stm32f4_otgfs_inepregs *) (STM32F4_OTGFS_BASE + 0x900))
181
#define STM32F4_OTGFS_OUTEP ((volatile stm32f4_otgfs_outepregs *) (STM32F4_OTGFS_BASE + 0xb00))
182
#define STM32F4_OTGFS_PWRCTL ((volatile stm32f4_otgfs_pwrctlregs *) (STM32F4_OTGFS_BASE + 0xe00))
183
184
#define STM32F4_OTGFS_FIFO_BASE (STM32F4_OTGFS_BASE + USB_FIFO_BASE)
185
187
188
#endif
/* STM32F4_FAMILY_F4XXXX */
189
190
#ifdef STM32F4_FAMILY_F10XXX
191
196
197
#include <
bsp/stm32f10xxx_exti.h
>
198
#define STM32F4_EXTI ((volatile stm32f4_exti *) (STM32F4_BASE + 0x40010400))
199
201
206
207
#include <
bsp/stm32f10xxx_gpio.h
>
208
#define STM32F4_GPIO(i) ((volatile stm32f4_gpio *) (STM32F4_BASE + 0x40010800 + i * 0x400))
209
#define STM32F4_AFIO ((volatile stm32f4_afio *) (STM32F4_BASE + 0x40010000))
210
212
217
218
#include <
bsp/stm32f10xxx_rcc.h
>
219
#define STM32F4_RCC ((volatile stm32f4_rcc *) (STM32F4_BASE + 0x40021000))
220
222
227
228
#include <
bsp/stm32_i2c.h
>
229
#define STM32F4_I2C2 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005800))
230
#define STM32F4_I2C1 ((volatile stm32f4_i2c *) (STM32F4_BASE + 0x40005400))
231
233
238
239
#include <
bsp/stm32_usart.h
>
240
#define STM32F4_USART_1 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40013800))
241
#define STM32F4_USART_2 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004400))
242
#define STM32F4_USART_3 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004800))
243
#define STM32F4_USART_4 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40004c00))
244
#define STM32F4_USART_5 ((volatile stm32f4_usart *) (STM32F4_BASE + 0x40005000))
245
247
249
250
#endif
/* STM32F4_FAMILY_F10XXX */
251
252
#endif
/* LIBBSP_ARM_STM32F4_STM32F4_H */
utility.h
This header file provides utility macros for BSPs.
stm32_i2c.h
STM32 I2C support.
stm32_usart.h
STM32 USART support.
stm32f10xxx_exti.h
STM32F10XXX EXTI support.
stm32f10xxx_gpio.h
STM32F10XXX GPIO support.
stm32f10xxx_rcc.h
STM32F10XXX RCC support.
stm32f4xxxx_gpio.h
STM32F4XXXX GPIO support.
stm32f4xxxx_rcc.h
STM32F4XXXX RCC support.
Generated by
1.18.0