Skip to content

Commit d0120bc

Browse files
committed
Added BluePill F103C8 variant
Signed-off-by: Frederic.Pillon <[email protected]>
1 parent 5e4ac46 commit d0120bc

File tree

7 files changed

+1189
-0
lines changed

7 files changed

+1189
-0
lines changed

Diff for: boards.txt

+71
Original file line numberDiff line numberDiff line change
@@ -374,6 +374,41 @@ Disco.menu.upload_method.STLink=STLink
374374
Disco.menu.upload_method.STLink.upload.protocol=STLink
375375
Disco.menu.upload_method.STLink.upload.tool=stlink_upload
376376

377+
################################################################################
378+
# Other boards
379+
380+
# Generic F103
381+
genF103.name=Generic STM32F103 series
382+
383+
genF103.build.vid=0x1EAF
384+
genF103.build.pid=0x0004
385+
genF103.vid.0=0x1EAF
386+
genF103.pid.0=0x0004
387+
388+
genF103.build.core=arduino
389+
genF103.build.board=genF103
390+
genF103.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial}
391+
392+
# BLUEPILL_F103C8 board
393+
# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10)
394+
genF103.menu.pnum.BLUEPILL_F103C8=BluePill F103C8
395+
genF103.menu.pnum.BLUEPILL_F103C8.upload.maximum_size=65536
396+
genF103.menu.pnum.BLUEPILL_F103C8.upload.maximum_data_size=20480
397+
genF103.menu.pnum.BLUEPILL_F103C8.build.mcu=cortex-m3
398+
genF103.menu.pnum.BLUEPILL_F103C8.build.board=BLUEPILL_F103C8
399+
genF103.menu.pnum.BLUEPILL_F103C8.build.series=STM32F1xx
400+
genF103.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB
401+
genF103.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8
402+
genF103.menu.pnum.BLUEPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math
403+
404+
# Upload menu
405+
genF103.menu.upload_method.STLinkMethod=STLink
406+
genF103.menu.upload_method.STLinkMethod.upload.protocol=STLink
407+
genF103.menu.upload_method.STLinkMethod.upload.tool=stlink_upload
408+
409+
genF103.menu.upload_method.serialMethod=Serial
410+
genF103.menu.upload_method.serialMethod.upload.protocol=maple_serial
411+
genF103.menu.upload_method.serialMethod.upload.tool=serial_upload
377412

378413
################################################################################
379414
# Serialx activation
@@ -409,6 +444,14 @@ Disco.menu.xserial.all.build.xSerial=-DALL_HWSERIAL
409444
Disco.menu.xserial.third=Enable first third (USART1 to 3 if available)
410445
Disco.menu.xserial.third.build.xSerial=-DFIRST_THIRD_HWSERIAL
411446

447+
genF103.menu.xserial.generic=Generic Serial
448+
genF103.menu.xserial.none=No Serial
449+
genF103.menu.xserial.none.build.xSerial=-DNO_HWSERIAL
450+
genF103.menu.xserial.all=All (up to 10)
451+
genF103.menu.xserial.all.build.xSerial=-DALL_HWSERIAL
452+
genF103.menu.xserial.third=Enable first third (USART1 to 3 if available)
453+
genF103.menu.xserial.third.build.xSerial=-DFIRST_THIRD_HWSERIAL
454+
412455
# USB connectivity
413456
Nucleo_144.menu.usb.none=None
414457
Nucleo_144.menu.usb.HID=HID keyboard and mouse support (if available)
@@ -546,3 +589,31 @@ Disco.menu.opt.o3lto.build.flags.ldspecs=-flto
546589
Disco.menu.opt.ogstd=Debug (-g)
547590
Disco.menu.opt.ogstd.build.flags.optimize=-g -Og
548591
Disco.menu.opt.ogstd.build.flags.ldspecs=
592+
593+
genF103.menu.opt.osstd=Smallest (-Os default)
594+
genF103.menu.opt.osstd.build.flags.optimize=-Os
595+
genF103.menu.opt.osstd.build.flags.ldspecs=
596+
genF103.menu.opt.oslto=Smallest (-Os) with LTO
597+
genF103.menu.opt.oslto.build.flags.optimize=-Os -flto
598+
genF103.menu.opt.oslto.build.flags.ldspecs=-flto
599+
genF103.menu.opt.o1std=Fast (-O1)
600+
genF103.menu.opt.o1std.build.flags.optimize=-O1
601+
genF103.menu.opt.o1std.build.flags.ldspecs=
602+
genF103.menu.opt.o1lto=Fast (-O1) with LTO
603+
genF103.menu.opt.o1lto.build.flags.optimize=-O1 -flto
604+
genF103.menu.opt.o1lto.build.flags.ldspecs=-flto
605+
genF103.menu.opt.o2std=Faster (-O2)
606+
genF103.menu.opt.o2std.build.flags.optimize=-O2
607+
genF103.menu.opt.o2std.build.flags.ldspecs=
608+
genF103.menu.opt.o2lto=Faster (-O2) with LTO
609+
genF103.menu.opt.o2lto.build.flags.optimize=-O2 -flto
610+
genF103.menu.opt.o2lto.build.flags.ldspecs=-flto
611+
genF103.menu.opt.o3std=Fastest (-O3)
612+
genF103.menu.opt.o3std.build.flags.optimize=-O3
613+
genF103.menu.opt.o3std.build.flags.ldspecs=
614+
genF103.menu.opt.o3lto=Fastest (-O3) with LTO
615+
genF103.menu.opt.o3lto.build.flags.optimize=-O3 -flto
616+
genF103.menu.opt.o3lto.build.flags.ldspecs=-flto
617+
genF103.menu.opt.ogstd=Debug (-g)
618+
genF103.menu.opt.ogstd.build.flags.optimize=-g -Og
619+
genF103.menu.opt.ogstd.build.flags.ldspecs=

Diff for: platform.txt

+14
Original file line numberDiff line numberDiff line change
@@ -154,3 +154,17 @@ tools.stlink_upload.path.linux64={runtime.hardware.path}/tools/linux64
154154
tools.stlink_upload.upload.params.verbose=-d
155155
tools.stlink_upload.upload.params.quiet=
156156
tools.stlink_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"
157+
158+
# Serial upload for generic STM32
159+
# Note: Boot0 line needs to be high on board reset to enable it
160+
# at the end up the upload the program is automatically run, without the board being reset
161+
tools.serial_upload.cmd=serial_upload
162+
tools.serial_upload.cmd.windows=serial_upload.bat
163+
tools.serial_upload.cmd.macosx=serial_upload
164+
tools.serial_upload.path={runtime.hardware.path}/tools/win
165+
tools.serial_upload.path.macosx={runtime.hardware.path}/tools/macosx
166+
tools.serial_upload.path.linux={runtime.hardware.path}/tools/linux
167+
tools.serial_upload.path.linux64={runtime.hardware.path}/tools/linux64
168+
tools.serial_upload.upload.params.verbose=-d
169+
tools.serial_upload.upload.params.quiet=n
170+
tools.serial_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"

Diff for: variants/BLUEPILL_F103C8/PeripheralPins.c

+245
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
/*
2+
*******************************************************************************
3+
* Copyright (c) 2018, STMicroelectronics
4+
* All rights reserved.
5+
*
6+
* Redistribution and use in source and binary forms, with or without
7+
* modification, are permitted provided that the following conditions are met:
8+
*
9+
* 1. Redistributions of source code must retain the above copyright notice,
10+
* this list of conditions and the following disclaimer.
11+
* 2. Redistributions in binary form must reproduce the above copyright notice,
12+
* this list of conditions and the following disclaimer in the documentation
13+
* and/or other materials provided with the distribution.
14+
* 3. Neither the name of STMicroelectronics nor the names of its contributors
15+
* may be used to endorse or promote products derived from this software
16+
* without specific prior written permission.
17+
*
18+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26+
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28+
*******************************************************************************
29+
*/
30+
#include "Arduino.h"
31+
#include "PeripheralPins.h"
32+
33+
// =====
34+
// Note: Commented lines are alternative possibilities which are not used per default.
35+
// If you change them, you will have to know what you do
36+
// =====
37+
38+
39+
//*** ADC ***
40+
41+
#ifdef HAL_ADC_MODULE_ENABLED
42+
const PinMap PinMap_ADC[] = {
43+
{PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0
44+
// {PA_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC2_IN0
45+
{PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1
46+
// {PA_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC2_IN1
47+
{PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2
48+
// {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC2_IN2
49+
{PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3
50+
// {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_IN3
51+
{PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4
52+
// {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_IN4
53+
{PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5
54+
// {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_IN5
55+
{PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6
56+
// {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC2_IN6
57+
{PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7
58+
// {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_IN7
59+
{PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8
60+
// {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_IN8
61+
{PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9
62+
// {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_IN9
63+
{NC, NP, 0}
64+
};
65+
#endif
66+
67+
//*** DAC ***
68+
69+
//*** No DAC ***
70+
71+
//*** I2C ***
72+
73+
#ifdef HAL_I2C_MODULE_ENABLED
74+
const PinMap PinMap_I2C_SDA[] = {
75+
{PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)},
76+
{PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_I2C1_ENABLE)},
77+
{PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)},
78+
{NC, NP, 0}
79+
};
80+
#endif
81+
82+
#ifdef HAL_I2C_MODULE_ENABLED
83+
const PinMap PinMap_I2C_SCL[] = {
84+
{PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)},
85+
{PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_I2C1_ENABLE)},
86+
{PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, AFIO_NONE)},
87+
{NC, NP, 0}
88+
};
89+
#endif
90+
91+
//*** PWM ***
92+
93+
#ifdef HAL_TIM_MODULE_ENABLED
94+
const PinMap PinMap_PWM[] = {
95+
{PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM2_CH1
96+
// {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 1, 0)}, // TIM2_CH1
97+
{PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM2_CH2
98+
// {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 2, 0)}, // TIM2_CH2
99+
{PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM2_CH3
100+
// {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 3, 0)}, // TIM2_CH3
101+
{PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM2_CH4
102+
// {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 4, 0)}, // TIM2_CH4
103+
{PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM3_CH1
104+
// {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 1, 1)}, // TIM1_CH1N
105+
{PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM3_CH2
106+
{PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM1_CH1
107+
// {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 1, 0)}, // TIM1_CH1
108+
{PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM1_CH2
109+
// {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 2, 0)}, // TIM1_CH2
110+
{PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM1_CH3
111+
// {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 3, 0)}, // TIM1_CH3
112+
{PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM1_CH4
113+
// {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 4, 0)}, // TIM1_CH4
114+
// {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 1, 0)}, // TIM2_CH1
115+
{PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 1, 0)}, // TIM2_CH1
116+
// {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 2, 1)}, // TIM1_CH2N
117+
{PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM3_CH3
118+
// {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 3, 0)}, // TIM3_CH3
119+
// {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 3, 1)}, // TIM1_CH3N
120+
{PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM3_CH4
121+
// {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 4, 0)}, // TIM3_CH4
122+
// {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 2, 0)}, // TIM2_CH2
123+
{PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 2, 0)}, // TIM2_CH2
124+
{PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 1, 0)}, // TIM3_CH1
125+
{PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 2, 0)}, // TIM3_CH2
126+
{PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM4_CH1
127+
{PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 0)}, // TIM4_CH2
128+
{PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 0)}, // TIM4_CH3
129+
{PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 4, 0)}, // TIM4_CH4
130+
// {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 3, 0)}, // TIM2_CH3
131+
{PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 3, 0)}, // TIM2_CH3
132+
// {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 4, 0)}, // TIM2_CH4
133+
{PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_TIM2_ENABLE, 4, 0)}, // TIM2_CH4
134+
{PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 1, 1)}, // TIM1_CH1N
135+
{PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 2, 1)}, // TIM1_CH2N
136+
{PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE, 3, 1)}, // TIM1_CH3N
137+
{NC, NP, 0}
138+
};
139+
#endif
140+
141+
//*** SERIAL ***
142+
143+
#ifdef HAL_UART_MODULE_ENABLED
144+
const PinMap PinMap_UART_TX[] = {
145+
{PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
146+
{PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
147+
{PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART1_ENABLE)},
148+
{PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
149+
{NC, NP, 0}
150+
};
151+
#endif
152+
153+
#ifdef HAL_UART_MODULE_ENABLED
154+
const PinMap PinMap_UART_RX[] = {
155+
{PA_3, USART2, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)},
156+
{PA_10, USART1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)},
157+
{PB_7, USART1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_USART1_ENABLE)},
158+
{PB_11, USART3, STM_PIN_DATA(STM_MODE_INPUT, GPIO_PULLUP, AFIO_NONE)},
159+
{NC, NP, 0}
160+
};
161+
#endif
162+
163+
#ifdef HAL_UART_MODULE_ENABLED
164+
const PinMap PinMap_UART_RTS[] = {
165+
{PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
166+
{PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
167+
{PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
168+
// {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)},
169+
{NC, NP, 0}
170+
};
171+
#endif
172+
173+
#ifdef HAL_UART_MODULE_ENABLED
174+
const PinMap PinMap_UART_CTS[] = {
175+
{PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
176+
{PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
177+
{PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
178+
// {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_USART3_PARTIAL)},
179+
{NC, NP, 0}
180+
};
181+
#endif
182+
183+
//*** SPI ***
184+
185+
#ifdef HAL_SPI_MODULE_ENABLED
186+
const PinMap PinMap_SPI_MOSI[] = {
187+
{PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
188+
{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)},
189+
{PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
190+
{NC, NP, 0}
191+
};
192+
#endif
193+
194+
#ifdef HAL_SPI_MODULE_ENABLED
195+
const PinMap PinMap_SPI_MISO[] = {
196+
{PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
197+
{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)},
198+
{PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
199+
{NC, NP, 0}
200+
};
201+
#endif
202+
203+
#ifdef HAL_SPI_MODULE_ENABLED
204+
const PinMap PinMap_SPI_SCLK[] = {
205+
{PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
206+
{PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)},
207+
{PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
208+
{NC, NP, 0}
209+
};
210+
#endif
211+
212+
#ifdef HAL_SPI_MODULE_ENABLED
213+
const PinMap PinMap_SPI_SSEL[] = {
214+
{PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
215+
{PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_SPI1_ENABLE)},
216+
{PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, AFIO_NONE)},
217+
{NC, NP, 0}
218+
};
219+
#endif
220+
221+
//*** CAN ***
222+
223+
#ifdef HAL_CAN_MODULE_ENABLED
224+
const PinMap PinMap_CAN_RD[] = {
225+
{PA_11, CAN1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)},
226+
{PB_8, CAN1, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, AFIO_CAN1_2)},
227+
{NC, NP, 0}
228+
};
229+
#endif
230+
231+
#ifdef HAL_CAN_MODULE_ENABLED
232+
const PinMap PinMap_CAN_TD[] = {
233+
{PA_12, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
234+
{PB_9, CAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, AFIO_CAN1_2)},
235+
{NC, NP, 0}
236+
};
237+
#endif
238+
239+
//*** ETHERNET ***
240+
241+
//*** No Ethernet ***
242+
243+
//*** QUADSPI ***
244+
245+
//*** No QUADSPI ***

0 commit comments

Comments
 (0)