Skip to content

Commit 5f91713

Browse files
CH32V203RB: cloned from CH32V203G8 (#20)
* CH32V203RB: cloned from CH32V203G8 * CH32V203RB: Corrected NUM_DIGITAL_PINS in variant_CH32V203RB.h * Updated boards.txt for CH32V203RB
1 parent 959844e commit 5f91713

File tree

7 files changed

+601
-0
lines changed

7 files changed

+601
-0
lines changed

boards.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,24 @@ CH32V20x_EVT.upload.maximum_data_size=0
281281
CH32V20x_EVT.build.variant_h=variant_{build.board}.h
282282

283283

284+
#CH32V203RB EVT Board
285+
CH32V20x_EVT.menu.pnum.CH32V203RB=CH32V203RB EVT
286+
CH32V20x_EVT.menu.pnum.CH32V203RB.node=NODE_V203RB
287+
CH32V20x_EVT.menu.pnum.CH32V203RB.upload.maximum_size=131072
288+
CH32V20x_EVT.menu.pnum.CH32V203RB.upload.maximum_data_size=65536
289+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.mcu=QingKe-V4B
290+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.board=CH32V203RB
291+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.series=CH32V20x
292+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.variant=CH32V20x/CH32V203RB
293+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.chip=CH32V203
294+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.march=rv32imacxw
295+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.mabi=ilp32
296+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.math_lib_gcc=-lm
297+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.IQ_math_RV32=
298+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.ch_extra_lib=-lprintf
299+
300+
301+
284302
#CH32V203G8 EVT Board
285303
CH32V20x_EVT.menu.pnum.CH32V203G8=CH32V203G8 EVT
286304
CH32V20x_EVT.menu.pnum.CH32V203G8.node=NODE_V203G8
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# v3.21 implemented semantic changes regarding $<TARGET_OBJECTS:...>
2+
# See https://cmake.org/cmake/help/v3.21/command/target_link_libraries.html#linking-object-libraries-via-target-objects
3+
cmake_minimum_required(VERSION 3.21)
4+
5+
add_library(variant INTERFACE)
6+
add_library(variant_usage INTERFACE)
7+
8+
target_include_directories(variant_usage INTERFACE
9+
.
10+
)
11+
12+
13+
target_link_libraries(variant_usage INTERFACE
14+
base_config
15+
)
16+
17+
target_link_libraries(variant INTERFACE variant_usage)
18+
19+
20+
21+
add_library(variant_bin STATIC EXCLUDE_FROM_ALL
22+
PeripheralPins.c
23+
variant_CH32V203RB.cpp
24+
)
25+
target_link_libraries(variant_bin PUBLIC variant_usage)
26+
27+
target_link_libraries(variant INTERFACE
28+
variant_bin
29+
)
30+
Lines changed: 230 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,230 @@
1+
/**
2+
*******************************************************************************
3+
* Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
4+
* All rights reserved.
5+
*
6+
* This software component is licensed by WCH 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+
#include "Arduino.h"
15+
#include "PeripheralPins.h"
16+
17+
/* =====
18+
* Notes:
19+
* - The pins mentioned Px_y_ALTz are alternative possibilities which use other
20+
* HW peripheral instances. You can use them the same way as any other "normal"
21+
* pin (i.e. analogWrite(PA7_ALT1, 128);).
22+
*
23+
* - Commented lines are alternative possibilities which are not used per default.
24+
* If you change them, you will have to know what you do
25+
* =====
26+
*/
27+
28+
//*** ADC ***
29+
#ifdef ADC_MODULE_ENABLED
30+
WEAK const PinMap PinMap_ADC[] = {
31+
{PA_0, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 0)}, // ADC1_IN0
32+
{PA_0_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 0)}, // ADC2_IN0
33+
{PA_1, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 1)}, // ADC1_IN1
34+
{PA_1_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 1)}, // ADC2_IN1
35+
{PA_2, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 2)}, // ADC1_IN2
36+
{PA_2_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 2)}, // ADC2_IN2
37+
{PA_3, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 3)}, // ADC1_IN3
38+
{PA_3_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 3)}, // ADC2_IN3
39+
{PA_4, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 4)}, // ADC1_IN4
40+
{PA_4_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 4)}, // ADC2_IN4
41+
{PA_5, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 5)}, // ADC1_IN5
42+
{PA_5_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 5)}, // ADC2_IN5
43+
{PA_6, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 6)}, // ADC1_IN6
44+
{PA_6_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 6)}, // ADC2_IN6
45+
{PA_7, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 7)}, // ADC1_IN7
46+
{PA_7_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 7)}, // ADC2_IN7
47+
{PB_0, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 8)}, // ADC1_IN8
48+
{PB_0_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 8)}, // ADC2_IN8
49+
{PB_1, ADC1, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 9)}, // ADC1_IN9
50+
{PB_1_ALT1, ADC2, CH_PIN_DATA_EXT(CH_MODE_INPUT, CH_CNF_INPUT_ANALOG, 0, AFIO_NONE, 9)}, // ADC2_IN9
51+
{NC, NP, 0}
52+
};
53+
#endif
54+
55+
//*** No DAC ***
56+
57+
58+
59+
//*** I2C ***
60+
#ifdef I2C_MODULE_ENABLED
61+
WEAK const PinMap PinMap_I2C_SDA[] = {
62+
{PB_7, I2C1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFOD, NOPULL, AFIO_NONE)},
63+
{PB_9, I2C1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFOD, NOPULL, AFIO_Remap_I2C1_ENABLE)},
64+
{NC, NP, 0}
65+
};
66+
#endif
67+
68+
#ifdef I2C_MODULE_ENABLED
69+
WEAK const PinMap PinMap_I2C_SCL[] = {
70+
{PB_6, I2C1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFOD, NOPULL, AFIO_NONE)},
71+
{PB_8, I2C1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFOD, NOPULL, AFIO_Remap_I2C1_ENABLE)},
72+
{NC, NP, 0}
73+
};
74+
#endif
75+
76+
//*** TIM ***
77+
#ifdef TIM_MODULE_ENABLED
78+
WEAK const PinMap PinMap_TIM[] = {
79+
{PA_0, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_NONE, 1, 0)}, // TIM2_CH1
80+
{PA_0_ALT1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 1, 0)}, // TIM2_CH1
81+
{PA_1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_DISABLE, 2, 0)}, // TIM2_CH2
82+
{PA_1_ALT1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 2, 0)}, // TIM2_CH2
83+
{PA_2, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_DISABLE, 3, 0)}, // TIM2_CH3
84+
{PA_2_ALT1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 3, 0)}, // TIM2_CH3
85+
{PA_3, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_DISABLE, 4, 0)}, // TIM2_CH4
86+
{PA_3_ALT1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 4, 0)}, // TIM2_CH4
87+
{PA_6, TIM3, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM3_DISABLE, 1, 0)}, // TIM3_CH1
88+
{PA_7, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 1, 1)}, // TIM1_CH1N
89+
{PA_7_ALT1, TIM3, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM3_DISABLE, 2, 0)}, // TIM3_CH2
90+
{PA_8, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_DISABLE, 1, 0)}, // TIM1_CH1
91+
{PA_8_ALT1, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 1, 0)}, // TIM1_CH1
92+
{PA_9, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_DISABLE, 2, 0)}, // TIM1_CH2
93+
{PA_9_ALT1, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 2, 0)}, // TIM1_CH2
94+
{PA_10, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_DISABLE, 3, 0)}, // TIM1_CH3
95+
{PA_10_ALT1, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 3, 0)}, // TIM1_CH3
96+
{PA_11, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_DISABLE, 4, 0)}, // TIM1_CH4
97+
{PA_11_ALT1, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 4, 0)}, // TIM1_CH4
98+
{PA_15, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 1, 0)}, // TIM2_CH1
99+
{PA_15_ALT1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_ENABLE, 1, 0)}, // TIM2_CH1
100+
{PB_0, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 2, 1)}, // TIM1_CH2N
101+
{PB_0_ALT1, TIM3, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM3_DISABLE, 3, 0)}, // TIM3_CH3
102+
{PB_0_ALT2, TIM3, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 3, 0)}, // TIM3_CH3
103+
{PB_1, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_PARTIAL, 3, 1)}, // TIM1_CH3N
104+
{PB_1_ALT1, TIM3, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM3_DISABLE, 4, 0)}, // TIM3_CH4
105+
{PB_1_ALT2, TIM3, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 4, 0)}, // TIM3_CH4
106+
{PB_3, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_PARTIAL_1, 2, 0)}, // TIM2_CH2
107+
{PB_3_ALT1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_ENABLE, 2, 0)}, // TIM2_CH2
108+
{PB_4, TIM3, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 1, 0)}, // TIM3_CH1
109+
{PB_5, TIM3, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM3_PARTIAL, 2, 0)}, // TIM3_CH2
110+
{PB_10, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 3, 0)}, // TIM2_CH3
111+
{PB_10_ALT1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_ENABLE, 3, 0)}, // TIM2_CH3
112+
{PB_11, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_PARTIAL_2, 4, 0)}, // TIM2_CH4
113+
{PB_11_ALT1, TIM2, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM2_ENABLE, 4, 0)}, // TIM2_CH4
114+
{PB_13, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_DISABLE, 1, 1)}, // TIM1_CH1N
115+
{PB_14, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_DISABLE, 2, 1)}, // TIM1_CH2N
116+
{PB_15, TIM1, CH_PIN_DATA_EXT(CH_MODE_OUTPUT_50MHz, GPIO_PULLUP, AFIO_TIM1_DISABLE, 3, 1)}, // TIM1_CH3N
117+
{NC, NP, 0}
118+
};
119+
#endif
120+
121+
//*** UART ***
122+
#ifdef UART_MODULE_ENABLED
123+
WEAK const PinMap PinMap_UART_TX[] = {
124+
{PA_9, USART1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
125+
{PB_6, USART1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_Remap_USART1_ENABLE)},
126+
{PA_2, USART2, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
127+
{PB_10,USART3, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
128+
{PC_10,USART3, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_FullRemap_USART3_ENABLE)},
129+
{PB_0, UART4, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
130+
{PA_5, UART4, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_FullRemap_USART4_ENABLE)},
131+
{NC, NP, 0}
132+
};
133+
#endif
134+
135+
#ifdef UART_MODULE_ENABLED
136+
WEAK const PinMap PinMap_UART_RX[] = {
137+
{PA_10, USART1, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_NONE)},
138+
{PB_7, USART1, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_Remap_USART1_ENABLE)},
139+
{PA_3, USART2, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_NONE)},
140+
{PB_11, USART3, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_NONE)},
141+
{PC_11, USART3, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_FullRemap_USART3_ENABLE)},
142+
{PB_1, UART4, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_NONE)},
143+
{PB_5, UART4, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_FullRemap_USART4_ENABLE)},
144+
{NC, NP, 0}
145+
};
146+
#endif
147+
148+
#ifdef UART_MODULE_ENABLED
149+
WEAK const PinMap PinMap_UART_RTS[] = {
150+
{PA_12, USART1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
151+
{PA_1, USART2, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
152+
{PB_14, USART3, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
153+
{PB_4, UART4, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
154+
{NC, NP, 0}
155+
};
156+
#endif
157+
158+
#ifdef UART_MODULE_ENABLED
159+
WEAK const PinMap PinMap_UART_CTS[] = {
160+
{PA_11, USART1, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_NONE)},
161+
{PA_0, USART2, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_NONE)},
162+
{PB_13, USART3, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_NONE)},
163+
{PB_3, UART4, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_PUPD, PULLUP, AFIO_NONE)},
164+
{NC, NP, 0}
165+
};
166+
#endif
167+
168+
169+
//*** SPI ***
170+
#ifdef SPI_MODULE_ENABLED
171+
WEAK const PinMap PinMap_SPI_MOSI[] = {
172+
{PA_7, SPI1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
173+
{NC, NP, 0}
174+
};
175+
#endif
176+
177+
#ifdef SPI_MODULE_ENABLED
178+
WEAK const PinMap PinMap_SPI_MISO[] = {
179+
{PA_6, SPI1, CH_PIN_DATA(CH_MODE_INPUT, CH_CNF_INPUT_FLOAT, 0, AFIO_NONE)},
180+
{NC, NP, 0}
181+
};
182+
#endif
183+
184+
#ifdef SPI_MODULE_ENABLED
185+
WEAK const PinMap PinMap_SPI_SCLK[] = {
186+
{PA_5, SPI1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
187+
{NC, NP, 0}
188+
};
189+
#endif
190+
191+
#ifdef SPI_MODULE_ENABLED
192+
WEAK const PinMap PinMap_SPI_SSEL[] = {
193+
{PA_4, SPI1, CH_PIN_DATA(CH_MODE_OUTPUT_50MHz, CH_CNF_OUTPUT_AFPP, 0, AFIO_NONE)},
194+
{NC, NP, 0}
195+
};
196+
#endif
197+
198+
//*** CAN ***
199+
#ifdef CAN_MODULE_ENABLED
200+
WEAK const PinMap PinMap_CAN_RD[] = {
201+
{PA_11, CAN1, CH_PIN_DATA(CH_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)},
202+
{PB_8, CAN1, CH_PIN_DATA(CH_MODE_INPUT, GPIO_NOPULL, AFIO_CAN1_2)},
203+
{NC, NP, 0}
204+
};
205+
#endif
206+
207+
#ifdef CAN_MODULE_ENABLED
208+
WEAK const PinMap PinMap_CAN_TD[] = {
209+
{PA_12, CAN1, CH_PIN_DATA(CH_MODE_AF_PP, GPIO_NOPULL, AFIO_NONE)},
210+
{PB_9, CAN1, CH_PIN_DATA(CH_MODE_AF_PP, GPIO_NOPULL, AFIO_CAN1_2)},
211+
{NC, NP, 0}
212+
};
213+
#endif
214+
215+
//*** No ETHERNET ***
216+
217+
218+
219+
//*** USB ***
220+
#ifdef USB_MODULE_ENABLED
221+
WEAK const PinMap PinMap_USB[] = {
222+
{PA_11, USB, CH_PIN_DATA(CH_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, // USB_DM
223+
{PA_12, USB, CH_PIN_DATA(CH_MODE_INPUT, GPIO_NOPULL, AFIO_NONE)}, // USB_DP
224+
{NC, NP, 0}
225+
};
226+
#endif
227+
228+
//*** No SD ***
229+
230+
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/* Alternate pin name */
2+
PA_0_ALT1 = PA_0 | ALT1,
3+
PA_1_ALT1 = PA_1 | ALT1,
4+
PA_2_ALT1 = PA_2 | ALT1,
5+
PA_3_ALT1 = PA_3 | ALT1,
6+
PA_4_ALT1 = PA_4 | ALT1,
7+
PA_5_ALT1 = PA_5 | ALT1,
8+
PA_6_ALT1 = PA_6 | ALT1,
9+
PA_7_ALT1 = PA_7 | ALT1,
10+
PA_8_ALT1 = PA_8 | ALT1,
11+
PA_9_ALT1 = PA_9 | ALT1,
12+
PA_10_ALT1 = PA_10 | ALT1,
13+
PA_11_ALT1 = PA_11 | ALT1,
14+
PA_15_ALT1 = PA_15 | ALT1,
15+
PB_0_ALT1 = PB_0 | ALT1,
16+
PB_0_ALT2 = PB_0 | ALT2,
17+
PB_1_ALT1 = PB_1 | ALT1,
18+
PB_1_ALT2 = PB_1 | ALT2,
19+
PB_3_ALT1 = PB_3 | ALT1,
20+
PB_10_ALT1 = PB_10 | ALT1,
21+
PB_11_ALT1 = PB_11 | ALT1,
22+
23+
/* SYS_WKUP */
24+
#ifdef PWR_WAKEUP_PIN1
25+
SYS_WKUP1 = PA_0,
26+
#endif
27+
#ifdef PWR_WAKEUP_PIN2
28+
SYS_WKUP2 = NC,
29+
#endif
30+
#ifdef PWR_WAKEUP_PIN3
31+
SYS_WKUP3 = NC,
32+
#endif
33+
#ifdef PWR_WAKEUP_PIN4
34+
SYS_WKUP4 = NC,
35+
#endif
36+
#ifdef PWR_WAKEUP_PIN5
37+
SYS_WKUP5 = NC,
38+
#endif
39+
#ifdef PWR_WAKEUP_PIN6
40+
SYS_WKUP6 = NC,
41+
#endif
42+
#ifdef PWR_WAKEUP_PIN7
43+
SYS_WKUP7 = NC,
44+
#endif
45+
#ifdef PWR_WAKEUP_PIN8
46+
SYS_WKUP8 = NC,
47+
#endif
48+
49+
/* USB */
50+
#ifdef USBCON
51+
USB_DM = PA_11,
52+
USB_DP = PA_12,
53+
#endif
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# This file help to add generic board entry.
2+
3+
4+
5+
# CH32V203RB
6+
CH32V20x_EVT.menu.pnum.CH32V203RB=CH32V203RB EVT
7+
CH32V20x_EVT.menu.pnum.CH32V203RB.upload.maximum_size=131072
8+
CH32V20x_EVT.menu.pnum.CH32V203RB.upload.maximum_data_size=65536
9+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.board=CH32V203RB
10+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.product_line=CH32V203xB
11+
CH32V20x_EVT.menu.pnum.CH32V203RB.build.variant=CH32V20x/CH32V203RB
12+

0 commit comments

Comments
 (0)