Skip to content

Commit b065fe8

Browse files
committed
Add MCU_STM32F103xD
1 parent 8fb6269 commit b065fe8

File tree

16 files changed

+1493
-4
lines changed

16 files changed

+1493
-4
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This branch is creating "generic" targets which are virtual boards with an STM32.
44

5-
Current status: 372 generic boards have created and tested with CLI1 and CLI2.
5+
Current status: 375 generic boards have created and tested with CLI1 and CLI2.
66

77
Real custom boards are in the main branch : https://github.com/ARMmbed/stm32customtargets
88

@@ -101,13 +101,14 @@ python aci_build.py -l -c -b
101101
- mbed-os: master
102102
- STM32_open_pin_data: master
103103

104-
14 targets available thanks to:
104+
17 targets available thanks to:
105105
- MCU_STM32F103x8
106106
- MCU_STM32F103xB
107107
- MCU_STM32F103xC
108+
- MCU_STM32F103xD
108109
- MCU_STM32F103xE
109110

110-
30 missing targets due to missing:
111+
29 missing targets due to missing:
111112
- MCU_STM32F100x4
112113
- MCU_STM32F100x6
113114
- MCU_STM32F100x8
@@ -130,7 +131,6 @@ python aci_build.py -l -c -b
130131
- MCU_STM32F102xB
131132
- MCU_STM32F103x4
132133
- MCU_STM32F103x6
133-
- MCU_STM32F103xD
134134
- MCU_STM32F103xF
135135
- MCU_STM32F103xG
136136
- MCU_STM32F105x8

TARGET_STM32F1/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@ add_subdirectory(TARGET_GENERIC_STM32F103CB EXCLUDE_FROM_ALL)
66
add_subdirectory(TARGET_GENERIC_STM32F103R8 EXCLUDE_FROM_ALL)
77
add_subdirectory(TARGET_GENERIC_STM32F103RB EXCLUDE_FROM_ALL)
88
add_subdirectory(TARGET_GENERIC_STM32F103RC EXCLUDE_FROM_ALL)
9+
add_subdirectory(TARGET_GENERIC_STM32F103RD EXCLUDE_FROM_ALL)
910
add_subdirectory(TARGET_GENERIC_STM32F103RE EXCLUDE_FROM_ALL)
1011
add_subdirectory(TARGET_GENERIC_STM32F103T8 EXCLUDE_FROM_ALL)
1112
add_subdirectory(TARGET_GENERIC_STM32F103TB EXCLUDE_FROM_ALL)
1213
add_subdirectory(TARGET_GENERIC_STM32F103V8 EXCLUDE_FROM_ALL)
1314
add_subdirectory(TARGET_GENERIC_STM32F103VB EXCLUDE_FROM_ALL)
1415
add_subdirectory(TARGET_GENERIC_STM32F103VC EXCLUDE_FROM_ALL)
16+
add_subdirectory(TARGET_GENERIC_STM32F103VD EXCLUDE_FROM_ALL)
1517
add_subdirectory(TARGET_GENERIC_STM32F103VE EXCLUDE_FROM_ALL)
1618
add_subdirectory(TARGET_GENERIC_STM32F103ZC EXCLUDE_FROM_ALL)
19+
add_subdirectory(TARGET_GENERIC_STM32F103ZD EXCLUDE_FROM_ALL)
1720
add_subdirectory(TARGET_GENERIC_STM32F103ZE EXCLUDE_FROM_ALL)
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2022 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-generic-stm32f103rd INTERFACE)
5+
6+
target_sources(mbed-generic-stm32f103rd
7+
INTERFACE
8+
PeripheralPins.c
9+
system_clock.c
10+
)
11+
12+
target_include_directories(mbed-generic-stm32f103rd
13+
INTERFACE
14+
.
15+
)
16+
17+
target_link_libraries(mbed-generic-stm32f103rd INTERFACE mbed-stm32f103xd)
Lines changed: 239 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,239 @@
1+
/* mbed Microcontroller Library
2+
* SPDX-License-Identifier: BSD-3-Clause
3+
******************************************************************************
4+
*
5+
* Copyright (c) 2016-2022 STMicroelectronics.
6+
* All rights reserved.
7+
*
8+
* This software component is licensed by ST under BSD 3-Clause license,
9+
* the "License"; You may not use this file except in compliance with the
10+
* License. You may obtain a copy of the License at:
11+
* opensource.org/licenses/BSD-3-Clause
12+
*
13+
******************************************************************************
14+
*
15+
* Automatically generated from STM32CubeMX/db/mcu/STM32F103R(C-D-E)Tx.xml
16+
*/
17+
18+
#include "PeripheralPins.h"
19+
#include "mbed_toolchain.h"
20+
21+
//==============================================================================
22+
// Notes
23+
//
24+
// - The pins mentioned Px_y_ALTz are alternative possibilities which use other
25+
// HW peripheral instances. You can use them the same way as any other "normal"
26+
// pin (i.e. PwmOut pwm(PA_7_ALT0);). These pins are not displayed on the board
27+
// pinout image on mbed.org.
28+
//
29+
// - The pins which are connected to other components present on the board have
30+
// the comment "Connected to xxx". The pin function may not work properly in this
31+
// case. These pins may not be displayed on the board pinout image on mbed.org.
32+
// Please read the board reference manual and schematic for more information.
33+
//
34+
// - Warning: pins connected to the default STDIO_UART_TX and STDIO_UART_RX pins are commented
35+
// See https://os.mbed.com/teams/ST/wiki/STDIO for more information.
36+
//
37+
//==============================================================================
38+
39+
40+
//*** ADC ***
41+
42+
MBED_WEAK const PinMap PinMap_ADC[] = {
43+
{PA_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0
44+
{PA_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1
45+
{PA_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2
46+
{PA_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3
47+
{PA_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4
48+
{PA_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5
49+
{PA_6, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6
50+
{PA_7, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7
51+
{PB_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8
52+
{PB_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9
53+
{PC_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10
54+
{PC_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11
55+
{PC_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 12, 0)}, // ADC1_IN12
56+
{PC_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 13, 0)}, // ADC1_IN13
57+
{PC_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_IN14
58+
{PC_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15
59+
{NC, NC, 0}
60+
};
61+
62+
// !!! SECTION TO BE CHECKED WITH DEVICE REFERENCE MANUAL
63+
MBED_WEAK const PinMap PinMap_ADC_Internal[] = {
64+
// {ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)},
65+
// {ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)},
66+
// {ADC_VBAT, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)},
67+
{NC, NC, 0}
68+
};
69+
70+
//*** DAC ***
71+
72+
MBED_WEAK const PinMap PinMap_DAC[] = {
73+
{PA_4, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1
74+
{PA_5, DAC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC_OUT2
75+
{NC, NC, 0}
76+
};
77+
78+
//*** I2C ***
79+
80+
MBED_WEAK const PinMap PinMap_I2C_SDA[] = {
81+
{PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)},
82+
{PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_REMAP_I2C1_ENABLE)},
83+
{PB_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)},
84+
{NC, NC, 0}
85+
};
86+
87+
MBED_WEAK const PinMap PinMap_I2C_SCL[] = {
88+
{PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)},
89+
{PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_REMAP_I2C1_ENABLE)},
90+
{PB_10, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)},
91+
{NC, NC, 0}
92+
};
93+
94+
//*** PWM ***
95+
96+
// TIM5 cannot be used because already used by the us_ticker
97+
// (update us_ticker_data.h file if another timer is chosen)
98+
MBED_WEAK const PinMap PinMap_PWM[] = {
99+
{PA_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 1, 0)}, // TIM2_CH1
100+
// {PA_0, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 1, 0)}, // TIM5_CH1
101+
{PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 2, 0)}, // TIM2_CH2
102+
// {PA_1, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 2, 0)}, // TIM5_CH2
103+
{PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 3, 0)}, // TIM2_CH3
104+
// {PA_2, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 3, 0)}, // TIM5_CH3
105+
{PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 4, 0)}, // TIM2_CH4
106+
// {PA_3, PWM_5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 4, 0)}, // TIM5_CH4
107+
{PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 1, 0)}, // TIM3_CH1
108+
{PA_7, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM1_PARTIAL, 1, 1)}, // TIM1_CH1N
109+
{PA_7_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 2, 0)}, // TIM3_CH2
110+
{PA_7_ALT1, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 1, 1)}, // TIM8_CH1N
111+
{PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 1, 0)}, // TIM1_CH1
112+
{PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 2, 0)}, // TIM1_CH2
113+
{PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 3, 0)}, // TIM1_CH3
114+
{PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 4, 0)}, // TIM1_CH4
115+
{PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM2_PARTIAL_1, 1, 0)}, // TIM2_CH1
116+
{PB_0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM1_PARTIAL, 2, 1)}, // TIM1_CH2N
117+
{PB_0_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 3, 0)}, // TIM3_CH3
118+
{PB_0_ALT1, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 2, 1)}, // TIM8_CH2N
119+
{PB_1, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM1_PARTIAL, 3, 1)}, // TIM1_CH3N
120+
{PB_1_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 4, 0)}, // TIM3_CH4
121+
{PB_1_ALT1, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 3, 1)}, // TIM8_CH3N
122+
{PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM2_PARTIAL_1, 2, 0)}, // TIM2_CH2
123+
{PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM3_PARTIAL, 1, 0)}, // TIM3_CH1
124+
{PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM3_PARTIAL, 2, 0)}, // TIM3_CH2
125+
{PB_6, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 1, 0)}, // TIM4_CH1
126+
{PB_7, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 2, 0)}, // TIM4_CH2
127+
{PB_8, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 3, 0)}, // TIM4_CH3
128+
{PB_9, PWM_4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 4, 0)}, // TIM4_CH4
129+
{PB_10, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM2_PARTIAL_2, 3, 0)}, // TIM2_CH3
130+
{PB_11, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM2_PARTIAL_2, 4, 0)}, // TIM2_CH4
131+
{PB_13, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 1, 1)}, // TIM1_CH1N
132+
{PB_14, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 2, 1)}, // TIM1_CH2N
133+
{PB_15, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 3, 1)}, // TIM1_CH3N
134+
{PC_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM3_ENABLE, 1, 0)}, // TIM3_CH1
135+
{PC_6_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 1, 0)}, // TIM8_CH1
136+
{PC_7, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM3_ENABLE, 2, 0)}, // TIM3_CH2
137+
{PC_7_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 2, 0)}, // TIM8_CH2
138+
{PC_8, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM3_ENABLE, 3, 0)}, // TIM3_CH3
139+
{PC_8_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 3, 0)}, // TIM8_CH3
140+
{PC_9, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_TIM3_ENABLE, 4, 0)}, // TIM3_CH4
141+
{PC_9_ALT0, PWM_8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE, 4, 0)}, // TIM8_CH4
142+
{NC, NC, 0}
143+
};
144+
145+
//*** SERIAL ***
146+
147+
MBED_WEAK const PinMap PinMap_UART_TX[] = {
148+
{PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
149+
{PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
150+
{PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_REMAP_USART1_ENABLE)},
151+
{PB_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
152+
{PC_10, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_REMAP_USART3_PARTIAL)},
153+
{PC_10_ALT0, UART_4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
154+
{PC_12, UART_5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
155+
{NC, NC, 0}
156+
};
157+
158+
MBED_WEAK const PinMap PinMap_UART_RX[] = {
159+
{PA_3, UART_2, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)},
160+
{PA_10, UART_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)},
161+
{PB_7, UART_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_REMAP_USART1_ENABLE)},
162+
{PB_11, UART_3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)},
163+
{PC_11, UART_3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_REMAP_USART3_PARTIAL)},
164+
{PC_11_ALT0, UART_4, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)},
165+
{PD_2, UART_5, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)},
166+
{NC, NC, 0}
167+
};
168+
169+
MBED_WEAK const PinMap PinMap_UART_RTS[] = {
170+
{PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
171+
{PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
172+
{PB_14, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
173+
{PB_14, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_REMAP_USART3_PARTIAL)},
174+
{NC, NC, 0}
175+
};
176+
177+
MBED_WEAK const PinMap PinMap_UART_CTS[] = {
178+
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
179+
{PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
180+
{PB_13, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
181+
{PB_13, UART_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_REMAP_USART3_PARTIAL)},
182+
{NC, NC, 0}
183+
};
184+
185+
//*** SPI ***
186+
187+
MBED_WEAK const PinMap PinMap_SPI_MOSI[] = {
188+
{PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
189+
{PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_SPI1_ENABLE)},
190+
{PB_5_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
191+
{PB_15, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
192+
{NC, NC, 0}
193+
};
194+
195+
MBED_WEAK const PinMap PinMap_SPI_MISO[] = {
196+
{PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
197+
{PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_SPI1_ENABLE)},
198+
{PB_4_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
199+
{PB_14, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
200+
{NC, NC, 0}
201+
};
202+
203+
MBED_WEAK const PinMap PinMap_SPI_SCLK[] = {
204+
{PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
205+
{PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_SPI1_ENABLE)},
206+
{PB_3_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
207+
{PB_13, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
208+
{NC, NC, 0}
209+
};
210+
211+
MBED_WEAK const PinMap PinMap_SPI_SSEL[] = {
212+
{PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
213+
{PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_SPI1_ENABLE)},
214+
{PA_15_ALT0, SPI_3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
215+
{PB_12, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
216+
{NC, NC, 0}
217+
};
218+
219+
//*** CAN ***
220+
221+
MBED_WEAK const PinMap PinMap_CAN_RD[] = {
222+
{PA_11, CAN_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)},
223+
{PB_8, CAN_1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_REMAP_CAN1_2)},
224+
{NC, NC, 0}
225+
};
226+
227+
MBED_WEAK const PinMap PinMap_CAN_TD[] = {
228+
{PA_12, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
229+
{PB_9, CAN_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_REMAP_CAN1_2)},
230+
{NC, NC, 0}
231+
};
232+
233+
//*** USBDEVICE ***
234+
235+
MBED_WEAK const PinMap PinMap_USB_FS[] = {
236+
{PA_11, USB_FS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, // USB_DM
237+
{PA_12, USB_FS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, // USB_DP
238+
{NC, NC, 0}
239+
};

0 commit comments

Comments
 (0)