Skip to content

Commit dc7d113

Browse files
committed
added microduinostm32_F410CB variant
1 parent d98a3ae commit dc7d113

File tree

8 files changed

+986
-1
lines changed

8 files changed

+986
-1
lines changed

boards.txt

+10-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Nucleo_144.menu.pnum.NUCLEO_F207ZG.node=NODE_F207ZG
2727
Nucleo_144.menu.pnum.NUCLEO_F207ZG.upload.maximum_size=1048576
2828
Nucleo_144.menu.pnum.NUCLEO_F207ZG.upload.maximum_data_size=131072
2929
Nucleo_144.menu.pnum.NUCLEO_F207ZG.build.mcu=cortex-m3
30-
Nucleo_144.menu.pnum.NUCLEO_F207ZG.build.board=NUCLEO_F207ZG
30+
Nucleo_144.menu.pnum.NUCLEO_F207ZG.uild.board=NUCLEO_F207ZG
3131
Nucleo_144.menu.pnum.NUCLEO_F207ZG.build.series=STM32F2xx
3232
Nucleo_144.menu.pnum.NUCLEO_F207ZG.build.product_line=STM32F207xx
3333
Nucleo_144.menu.pnum.NUCLEO_F207ZG.build.variant=NUCLEO_F207ZG
@@ -1500,6 +1500,15 @@ GenF4.menu.pnum.Generic_F410CB.build.board=GENERIC_F410CB
15001500
GenF4.menu.pnum.Generic_F410CB.build.product_line=STM32F410Cx
15011501
GenF4.menu.pnum.Generic_F410CB.build.variant=Generic_F410Cx
15021502

1503+
# microduinostm32 F410CB
1504+
GenF4.menu.pnum.microduinostm32_F4110CB=microduinostm32 F4110CB
1505+
GenF4.menu.pnum.microduinostm32_F4110CB.upload.maximum_size=131072
1506+
GenF4.menu.pnum.microduinostm32_F4110CB.upload.maximum_data_size=32768
1507+
GenF4.menu.pnum.microduinostm32_F4110CB.build.board=GENERIC_F410CB
1508+
GenF4.menu.pnum.microduinostm32_F4110CB.build.product_line=STM32F410Cx
1509+
GenF4.menu.pnum.microduinostm32_F4110CB.build.variant=microduinostm32_F4110CB
1510+
1511+
15031512
# Generic F410C8
15041513
GenF4.menu.pnum.Generic_F410C8=Generic F410C8
15051514
GenF4.menu.pnum.Generic_F410C8.upload.maximum_size=65536
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
/*
2+
*******************************************************************************
3+
* Copyright (c) 2021, STMicroelectronics
4+
* All rights reserved.
5+
*
6+
* This software component is licensed by ST under BSD 3-Clause license,
7+
* the "License"; You may not use this file except in compliance with the
8+
* License. You may obtain a copy of the License at:
9+
* opensource.org/licenses/BSD-3-Clause
10+
*
11+
*******************************************************************************
12+
*/
13+
/*
14+
* Automatically generated from STM32F410C(8-B)Tx.xml
15+
* CubeMX DB release 6.0.10
16+
*/
17+
#include "Arduino.h"
18+
#include "PeripheralPins.h"
19+
20+
/* =====
21+
* Notes:
22+
* - The pins mentioned Px_y_ALTz are alternative possibilities which use other
23+
* HW peripheral instances. You can use them the same way as any other "normal"
24+
* pin (i.e. analogWrite(PA7_ALT1, 128);).
25+
*
26+
* - Commented lines are alternative possibilities which are not used per default.
27+
* If you change them, you will have to know what you do
28+
* =====
29+
*/
30+
31+
//*** ADC ***
32+
33+
#ifdef HAL_ADC_MODULE_ENABLED
34+
WEAK const PinMap PinMap_ADC[] = {
35+
{PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0
36+
{PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1
37+
{PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2
38+
{PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3
39+
{PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4
40+
{PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5
41+
{PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6
42+
{PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7
43+
{PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8
44+
{PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9
45+
{NC, NP, 0}
46+
};
47+
#endif
48+
49+
//*** DAC ***
50+
51+
#ifdef HAL_DAC_MODULE_ENABLED
52+
WEAK const PinMap PinMap_DAC[] = {
53+
{PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC_OUT1
54+
{NC, NP, 0}
55+
};
56+
#endif
57+
58+
//*** I2C ***
59+
60+
#ifdef HAL_I2C_MODULE_ENABLED
61+
WEAK const PinMap PinMap_I2C_SDA[] = {
62+
{PB_3, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF9_I2C2)},
63+
{PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
64+
{NC, NP, 0}
65+
};
66+
#endif
67+
68+
#ifdef HAL_I2C_MODULE_ENABLED
69+
WEAK const PinMap PinMap_I2C_SCL[] = {
70+
{PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
71+
{PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)},
72+
{PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)},
73+
{NC, NP, 0}
74+
};
75+
#endif
76+
77+
//*** TIM ***
78+
79+
#ifdef HAL_TIM_MODULE_ENABLED
80+
WEAK const PinMap PinMap_TIM[] = {
81+
{PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1
82+
{PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2
83+
{PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3
84+
{PA_2_ALT1, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 1, 0)}, // TIM9_CH1
85+
{PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4
86+
{PA_3_ALT1, TIM9, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM9, 2, 0)}, // TIM9_CH2
87+
{PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
88+
{PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1
89+
{PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
90+
{PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3
91+
{PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4
92+
{PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
93+
{PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
94+
{PB_12, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1
95+
{PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N
96+
{PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N
97+
{PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N
98+
{NC, NP, 0}
99+
};
100+
#endif
101+
102+
//*** UART ***
103+
104+
#ifdef HAL_UART_MODULE_ENABLED
105+
WEAK const PinMap PinMap_UART_TX[] = {
106+
{PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
107+
{PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
108+
{PA_11, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
109+
{PA_15, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
110+
{PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
111+
{NC, NP, 0}
112+
};
113+
#endif
114+
115+
#ifdef HAL_UART_MODULE_ENABLED
116+
WEAK const PinMap PinMap_UART_RX[] = {
117+
{PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
118+
{PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
119+
{PA_12, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
120+
{PB_3, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
121+
{PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
122+
{NC, NP, 0}
123+
};
124+
#endif
125+
126+
#ifdef HAL_UART_MODULE_ENABLED
127+
WEAK const PinMap PinMap_UART_RTS[] = {
128+
{PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
129+
{PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
130+
{NC, NP, 0}
131+
};
132+
#endif
133+
134+
#ifdef HAL_UART_MODULE_ENABLED
135+
WEAK const PinMap PinMap_UART_CTS[] = {
136+
{PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
137+
{PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
138+
{NC, NP, 0}
139+
};
140+
#endif
141+
142+
//*** SPI ***
143+
144+
#ifdef HAL_SPI_MODULE_ENABLED
145+
WEAK const PinMap PinMap_SPI_MOSI[] = {
146+
{PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
147+
{PA_10, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI5)},
148+
{PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
149+
{PB_8, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI5)},
150+
{PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
151+
{NC, NP, 0}
152+
};
153+
#endif
154+
155+
#ifdef HAL_SPI_MODULE_ENABLED
156+
WEAK const PinMap PinMap_SPI_MISO[] = {
157+
{PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
158+
{PA_12, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI5)},
159+
{PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
160+
{PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
161+
{NC, NP, 0}
162+
};
163+
#endif
164+
165+
#ifdef HAL_SPI_MODULE_ENABLED
166+
WEAK const PinMap PinMap_SPI_SCLK[] = {
167+
{PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
168+
{PB_0, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI5)},
169+
{PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
170+
{PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
171+
{PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
172+
{NC, NP, 0}
173+
};
174+
#endif
175+
176+
#ifdef HAL_SPI_MODULE_ENABLED
177+
WEAK const PinMap PinMap_SPI_SSEL[] = {
178+
{PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
179+
{PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)},
180+
{PB_1, SPI5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI5)},
181+
{PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)},
182+
{NC, NP, 0}
183+
};
184+
#endif
185+
186+
//*** No CAN ***
187+
188+
//*** No ETHERNET ***
189+
190+
//*** No QUADSPI ***
191+
192+
//*** No USB ***
193+
194+
//*** No SD ***
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/* Alternate pin name */
2+
PA_2_ALT1 = PA_2 | ALT1,
3+
PA_3_ALT1 = PA_3 | ALT1,
4+
5+
/* SYS_WKUP */
6+
#ifdef PWR_WAKEUP_PIN1
7+
SYS_WKUP1 = PA_0,
8+
#endif
9+
#ifdef PWR_WAKEUP_PIN2
10+
SYS_WKUP2 = NC,
11+
#endif
12+
#ifdef PWR_WAKEUP_PIN3
13+
SYS_WKUP3 = NC,
14+
#endif
15+
#ifdef PWR_WAKEUP_PIN4
16+
SYS_WKUP4 = NC,
17+
#endif
18+
#ifdef PWR_WAKEUP_PIN5
19+
SYS_WKUP5 = NC,
20+
#endif
21+
#ifdef PWR_WAKEUP_PIN6
22+
SYS_WKUP6 = NC,
23+
#endif
24+
#ifdef PWR_WAKEUP_PIN7
25+
SYS_WKUP7 = NC,
26+
#endif
27+
#ifdef PWR_WAKEUP_PIN8
28+
SYS_WKUP8 = NC,
29+
#endif
30+
31+
/* No USB */

0 commit comments

Comments
 (0)