Skip to content

Commit 7b2b9cd

Browse files
charlownGuozhanxin
authored andcommitted
add wch ch32f203r-evt bsp.
1 parent 032ce63 commit 7b2b9cd

File tree

92 files changed

+44472
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+44472
-2
lines changed

bsp/wch/arm/.ignore_format.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44

55
dir_path:
66
- Libraries/CH32F10x_StdPeriph_Driver
7+
- Libraries/CH32F20x_StdPeriph_Driver

bsp/wch/arm/Libraries/CH32F20x_StdPeriph_Driver/CMSIS/WCH/CH32F20x/Include/ch32f20x.h

Lines changed: 5445 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/********************************** (C) COPYRIGHT *******************************
2+
* File Name : system_ch32f20x.h
3+
* Author : WCH
4+
* Version : V1.0.0
5+
* Date : 2021/08/08
6+
* Description : CH32F20x Device Peripheral Access Layer System Header File.
7+
*******************************************************************************/
8+
#ifndef __SYSTEM_CH32F20x_H
9+
#define __SYSTEM_CH32F20x_H
10+
11+
#ifdef __cplusplus
12+
extern "C" {
13+
#endif
14+
15+
extern uint32_t SystemCoreClock; /* System Clock Frequency (Core Clock) */
16+
17+
/* System_Exported_Functions */
18+
extern void SystemInit(void);
19+
extern void SystemCoreClockUpdate(void);
20+
21+
#ifdef __cplusplus
22+
}
23+
#endif
24+
25+
#endif /*__CH32F20x_SYSTEM_H */
26+
27+
28+

bsp/wch/arm/Libraries/CH32F20x_StdPeriph_Driver/CMSIS/WCH/CH32F20x/Source/ARM/startup_ch32f20x.s

Lines changed: 430 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 313 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,313 @@
1+
/********************************** (C) COPYRIGHT *******************************
2+
* File Name : startup_ch32f10x.s
3+
* Author : WCH
4+
* Version : V1.0.0
5+
* Date : 2020/11/01
6+
* Description : CH32F10x vector table for GCC toolchain.
7+
*******************************************************************************/
8+
9+
.syntax unified
10+
.cpu cortex-m3
11+
.fpu softvfp
12+
.thumb
13+
14+
.global g_pfnVectors
15+
.global Default_Handler
16+
17+
/* start address for the initialization values of the .data section.
18+
defined in linker script */
19+
.word _sidata
20+
/* start address for the .data section. defined in linker script */
21+
.word _sdata
22+
/* end address for the .data section. defined in linker script */
23+
.word _edata
24+
/* start address for the .bss section. defined in linker script */
25+
.word _sbss
26+
/* end address for the .bss section. defined in linker script */
27+
.word _ebss
28+
29+
/*******************************************************************************
30+
Reset handler
31+
*******************************************************************************/
32+
.section .text.Reset_Handler
33+
.weak Reset_Handler
34+
.type Reset_Handler, %function
35+
Reset_Handler:
36+
37+
/* Copy the data segment initializers from flash to SRAM */
38+
movs r1, #0
39+
b LoopCopyDataInit
40+
41+
CopyDataInit:
42+
ldr r3, =_sidata
43+
ldr r3, [r3, r1]
44+
str r3, [r0, r1]
45+
adds r1, r1, #4
46+
47+
LoopCopyDataInit:
48+
ldr r0, =_sdata
49+
ldr r3, =_edata
50+
adds r2, r0, r1
51+
cmp r2, r3
52+
bcc CopyDataInit
53+
ldr r2, =_sbss
54+
b LoopFillZerobss
55+
/* Zero fill the bss segment. */
56+
FillZerobss:
57+
movs r3, #0
58+
str r3, [r2], #4
59+
60+
LoopFillZerobss:
61+
ldr r3, = _ebss
62+
cmp r2, r3
63+
bcc FillZerobss
64+
/* Call the clock system intitialization function.*/
65+
bl SystemInit
66+
/* Call the application's entry point.*/
67+
bl main
68+
bx lr
69+
.size Reset_Handler, .-Reset_Handler
70+
71+
/*******************************************************************************
72+
This simply enters an infinite loop.
73+
*******************************************************************************/
74+
.section .text.Default_Handler,"ax",%progbits
75+
Default_Handler:
76+
Infinite_Loop:
77+
b Infinite_Loop
78+
.size Default_Handler, .-Default_Handler
79+
80+
/*******************************************************************************
81+
Vector Table Mapped to Address 0 at Reset.
82+
*******************************************************************************/
83+
.section .isr_vector,"a",%progbits
84+
.type g_pfnVectors, %object
85+
.size g_pfnVectors, .-g_pfnVectors
86+
87+
g_pfnVectors:
88+
.word _estack
89+
.word Reset_Handler
90+
.word NMI_Handler
91+
.word HardFault_Handler
92+
.word MemManage_Handler
93+
.word BusFault_Handler
94+
.word UsageFault_Handler
95+
.word 0
96+
.word 0
97+
.word 0
98+
.word 0
99+
.word SVC_Handler
100+
.word DebugMon_Handler
101+
.word 0
102+
.word PendSV_Handler
103+
.word SysTick_Handler
104+
105+
/*******************************************************************************
106+
External Interrupts
107+
*******************************************************************************/
108+
.word WWDG_IRQHandler
109+
.word PVD_IRQHandler
110+
.word TAMPER_IRQHandler
111+
.word RTC_IRQHandler
112+
.word FLASH_IRQHandler
113+
.word RCC_IRQHandler
114+
.word EXTI0_IRQHandler
115+
.word EXTI1_IRQHandler
116+
.word EXTI2_IRQHandler
117+
.word EXTI3_IRQHandler
118+
.word EXTI4_IRQHandler
119+
.word DMA1_Channel1_IRQHandler
120+
.word DMA1_Channel2_IRQHandler
121+
.word DMA1_Channel3_IRQHandler
122+
.word DMA1_Channel4_IRQHandler
123+
.word DMA1_Channel5_IRQHandler
124+
.word DMA1_Channel6_IRQHandler
125+
.word DMA1_Channel7_IRQHandler
126+
.word ADC1_2_IRQHandler
127+
.word USB_HP_CAN1_TX_IRQHandler
128+
.word USB_LP_CAN1_RX0_IRQHandler
129+
.word CAN1_RX1_IRQHandler
130+
.word CAN1_SCE_IRQHandler
131+
.word EXTI9_5_IRQHandler
132+
.word TIM1_BRK_IRQHandler
133+
.word TIM1_UP_IRQHandler
134+
.word TIM1_TRG_COM_IRQHandler
135+
.word TIM1_CC_IRQHandler
136+
.word TIM2_IRQHandler
137+
.word TIM3_IRQHandler
138+
.word TIM4_IRQHandler
139+
.word I2C1_EV_IRQHandler
140+
.word I2C1_ER_IRQHandler
141+
.word I2C2_EV_IRQHandler
142+
.word I2C2_ER_IRQHandler
143+
.word SPI1_IRQHandler
144+
.word SPI2_IRQHandler
145+
.word USART1_IRQHandler
146+
.word USART2_IRQHandler
147+
.word USART3_IRQHandler
148+
.word EXTI15_10_IRQHandler
149+
.word RTCAlarm_IRQHandler
150+
.word USBWakeUp_IRQHandler
151+
.word USBHD_IRQHandler
152+
153+
/*******************************************************************************
154+
Dummy Exception Handlers (infinite loops which can be modified)
155+
*******************************************************************************/
156+
.weak NMI_Handler
157+
.thumb_set NMI_Handler,Default_Handler
158+
159+
.weak HardFault_Handler
160+
.thumb_set HardFault_Handler,Default_Handler
161+
162+
.weak MemManage_Handler
163+
.thumb_set MemManage_Handler,Default_Handler
164+
165+
.weak BusFault_Handler
166+
.thumb_set BusFault_Handler,Default_Handler
167+
168+
.weak UsageFault_Handler
169+
.thumb_set UsageFault_Handler,Default_Handler
170+
171+
.weak SVC_Handler
172+
.thumb_set SVC_Handler,Default_Handler
173+
174+
.weak DebugMon_Handler
175+
.thumb_set DebugMon_Handler,Default_Handler
176+
177+
.weak PendSV_Handler
178+
.thumb_set PendSV_Handler,Default_Handler
179+
180+
.weak SysTick_Handler
181+
.thumb_set SysTick_Handler,Default_Handler
182+
183+
.weak WWDG_IRQHandler
184+
.thumb_set WWDG_IRQHandler,Default_Handler
185+
186+
.weak PVD_IRQHandler
187+
.thumb_set PVD_IRQHandler,Default_Handler
188+
189+
.weak TAMPER_IRQHandler
190+
.thumb_set TAMPER_IRQHandler,Default_Handler
191+
192+
.weak RTC_IRQHandler
193+
.thumb_set RTC_IRQHandler,Default_Handler
194+
195+
.weak FLASH_IRQHandler
196+
.thumb_set FLASH_IRQHandler,Default_Handler
197+
198+
.weak RCC_IRQHandler
199+
.thumb_set RCC_IRQHandler,Default_Handler
200+
201+
.weak EXTI0_IRQHandler
202+
.thumb_set EXTI0_IRQHandler,Default_Handler
203+
204+
.weak EXTI1_IRQHandler
205+
.thumb_set EXTI1_IRQHandler,Default_Handler
206+
207+
.weak EXTI2_IRQHandler
208+
.thumb_set EXTI2_IRQHandler,Default_Handler
209+
210+
.weak EXTI3_IRQHandler
211+
.thumb_set EXTI3_IRQHandler,Default_Handler
212+
213+
.weak EXTI4_IRQHandler
214+
.thumb_set EXTI4_IRQHandler,Default_Handler
215+
216+
.weak DMA1_Channel1_IRQHandler
217+
.thumb_set DMA1_Channel1_IRQHandler,Default_Handler
218+
219+
.weak DMA1_Channel2_IRQHandler
220+
.thumb_set DMA1_Channel2_IRQHandler,Default_Handler
221+
222+
.weak DMA1_Channel3_IRQHandler
223+
.thumb_set DMA1_Channel3_IRQHandler,Default_Handler
224+
225+
.weak DMA1_Channel4_IRQHandler
226+
.thumb_set DMA1_Channel4_IRQHandler,Default_Handler
227+
228+
.weak DMA1_Channel5_IRQHandler
229+
.thumb_set DMA1_Channel5_IRQHandler,Default_Handler
230+
231+
.weak DMA1_Channel6_IRQHandler
232+
.thumb_set DMA1_Channel6_IRQHandler,Default_Handler
233+
234+
.weak DMA1_Channel7_IRQHandler
235+
.thumb_set DMA1_Channel7_IRQHandler,Default_Handler
236+
237+
.weak ADC1_2_IRQHandler
238+
.thumb_set ADC1_2_IRQHandler,Default_Handler
239+
240+
.weak USB_HP_CAN1_TX_IRQHandler
241+
.thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler
242+
243+
.weak USB_LP_CAN1_RX0_IRQHandler
244+
.thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler
245+
246+
.weak CAN1_RX1_IRQHandler
247+
.thumb_set CAN1_RX1_IRQHandler,Default_Handler
248+
249+
.weak CAN1_SCE_IRQHandler
250+
.thumb_set CAN1_SCE_IRQHandler,Default_Handler
251+
252+
.weak EXTI9_5_IRQHandler
253+
.thumb_set EXTI9_5_IRQHandler,Default_Handler
254+
255+
.weak TIM1_BRK_IRQHandler
256+
.thumb_set TIM1_BRK_IRQHandler,Default_Handler
257+
258+
.weak TIM1_UP_IRQHandler
259+
.thumb_set TIM1_UP_IRQHandler,Default_Handler
260+
261+
.weak TIM1_TRG_COM_IRQHandler
262+
.thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler
263+
264+
.weak TIM1_CC_IRQHandler
265+
.thumb_set TIM1_CC_IRQHandler,Default_Handler
266+
267+
.weak TIM2_IRQHandler
268+
.thumb_set TIM2_IRQHandler,Default_Handler
269+
270+
.weak TIM3_IRQHandler
271+
.thumb_set TIM3_IRQHandler,Default_Handler
272+
273+
.weak TIM4_IRQHandler
274+
.thumb_set TIM4_IRQHandler,Default_Handler
275+
276+
.weak I2C1_EV_IRQHandler
277+
.thumb_set I2C1_EV_IRQHandler,Default_Handler
278+
279+
.weak I2C1_ER_IRQHandler
280+
.thumb_set I2C1_ER_IRQHandler,Default_Handler
281+
282+
.weak I2C2_EV_IRQHandler
283+
.thumb_set I2C2_EV_IRQHandler,Default_Handler
284+
285+
.weak I2C2_ER_IRQHandler
286+
.thumb_set I2C2_ER_IRQHandler,Default_Handler
287+
288+
.weak SPI1_IRQHandler
289+
.thumb_set SPI1_IRQHandler,Default_Handler
290+
291+
.weak SPI2_IRQHandler
292+
.thumb_set SPI2_IRQHandler,Default_Handler
293+
294+
.weak USART1_IRQHandler
295+
.thumb_set USART1_IRQHandler,Default_Handler
296+
297+
.weak USART2_IRQHandler
298+
.thumb_set USART2_IRQHandler,Default_Handler
299+
300+
.weak USART3_IRQHandler
301+
.thumb_set USART3_IRQHandler,Default_Handler
302+
303+
.weak EXTI15_10_IRQHandler
304+
.thumb_set EXTI15_10_IRQHandler,Default_Handler
305+
306+
.weak RTCAlarm_IRQHandler
307+
.thumb_set RTCAlarm_IRQHandler,Default_Handler
308+
309+
.weak USBWakeUp_IRQHandler
310+
.thumb_set USBWakeUp_IRQHandler,Default_Handler
311+
312+
.weak USBHD_IRQHandler
313+
.thumb_set USBHD_IRQHandler,Default_Handler

0 commit comments

Comments
 (0)