-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add GD32F10x SPL files from GD32F10x_Firmware_Library_V2.2.3
- Loading branch information
Showing
168 changed files
with
62,411 additions
and
0 deletions.
There are no files selected for viewing
380 changes: 380 additions & 0 deletions
380
system/GD32F10x_firmware/CMSIS/GD/GD32F10x/Include/gd32f10x.h
Large diffs are not rendered by default.
Oops, something went wrong.
60 changes: 60 additions & 0 deletions
60
system/GD32F10x_firmware/CMSIS/GD/GD32F10x/Include/system_gd32f10x.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
/*! | ||
\file system_gd32f10x.h | ||
\brief CMSIS Cortex-M3 Device Peripheral Access Layer Header File for | ||
GD32F10x Device Series | ||
*/ | ||
|
||
/* | ||
Copyright (c) 2012 ARM LIMITED | ||
All rights reserved. | ||
Redistribution and use in source and binary forms, with or without modification, | ||
are permitted provided that the following conditions are met: | ||
1. Redistributions of source code must retain the above copyright notice, this | ||
list of conditions and the following disclaimer. | ||
2. Redistributions in binary form must reproduce the above copyright notice, | ||
this list of conditions and the following disclaimer in the documentation | ||
and/or other materials provided with the distribution. | ||
3. Neither the name of the copyright holder nor the names of its contributors | ||
may be used to endorse or promote products derived from this software without | ||
specific prior written permission. | ||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, | ||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY | ||
OF SUCH DAMAGE. | ||
*/ | ||
|
||
/* This file refers the CMSIS standard, some adjustments are made according to GigaDevice chips */ | ||
|
||
#ifndef SYSTEM_GD32F10X_H | ||
#define SYSTEM_GD32F10X_H | ||
|
||
#ifdef __cplusplus | ||
extern "C" { | ||
#endif | ||
|
||
#include <stdint.h> | ||
|
||
/* system clock frequency (core clock) */ | ||
extern uint32_t SystemCoreClock; | ||
|
||
/* function declarations */ | ||
/* initialize the system and update the SystemCoreClock variable */ | ||
extern void SystemInit(void); | ||
/* update the SystemCoreClock with current core clock retrieved from cpu registers */ | ||
extern void SystemCoreClockUpdate(void); | ||
|
||
#ifdef __cplusplus | ||
} | ||
#endif | ||
|
||
#endif /* SYSTEM_GD32F10X_H */ |
390 changes: 390 additions & 0 deletions
390
system/GD32F10x_firmware/CMSIS/GD/GD32F10x/Source/ARM/startup_gd32f10x_cl.s
Large diffs are not rendered by default.
Oops, something went wrong.
371 changes: 371 additions & 0 deletions
371
system/GD32F10x_firmware/CMSIS/GD/GD32F10x/Source/ARM/startup_gd32f10x_hd.s
Large diffs are not rendered by default.
Oops, something went wrong.
328 changes: 328 additions & 0 deletions
328
system/GD32F10x_firmware/CMSIS/GD/GD32F10x/Source/ARM/startup_gd32f10x_md.s
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,328 @@ | ||
;/*! | ||
; \file startup_gd32f10x_md.s | ||
; \brief start up file | ||
; | ||
; \version 2014-12-26, V1.0.0, firmware for GD32F10x | ||
; \version 2017-06-20, V2.0.0, firmware for GD32F10x | ||
; \version 2018-07-31, V2.1.0, firmware for GD32F10x | ||
;*/ | ||
; | ||
;/* | ||
; Copyright (c) 2018, GigaDevice Semiconductor Inc. | ||
; | ||
; All rights reserved. | ||
; | ||
; Redistribution and use in source and binary forms, with or without modification, | ||
;are permitted provided that the following conditions are met: | ||
; | ||
; 1. Redistributions of source code must retain the above copyright notice, this | ||
; list of conditions and the following disclaimer. | ||
; 2. Redistributions in binary form must reproduce the above copyright notice, | ||
; this list of conditions and the following disclaimer in the documentation | ||
; and/or other materials provided with the distribution. | ||
; 3. Neither the name of the copyright holder nor the names of its contributors | ||
; may be used to endorse or promote products derived from this software without | ||
; specific prior written permission. | ||
; | ||
; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
;AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
;WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
;IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, | ||
;INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
;NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||
;PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
;WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
;ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY | ||
;OF SUCH DAMAGE. | ||
;*/ | ||
|
||
; <h> Stack Configuration | ||
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> | ||
; </h> | ||
|
||
Stack_Size EQU 0x00000400 | ||
|
||
AREA STACK, NOINIT, READWRITE, ALIGN = 3 | ||
Stack_Mem SPACE Stack_Size | ||
__initial_sp | ||
|
||
|
||
; <h> Heap Configuration | ||
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> | ||
; </h> | ||
|
||
Heap_Size EQU 0x00000200 | ||
|
||
AREA HEAP, NOINIT, READWRITE, ALIGN = 3 | ||
__heap_base | ||
Heap_Mem SPACE Heap_Size | ||
__heap_limit | ||
|
||
|
||
PRESERVE8 | ||
THUMB | ||
|
||
; /* reset Vector Mapped to at Address 0 */ | ||
AREA RESET, DATA, READONLY | ||
EXPORT __Vectors | ||
EXPORT __Vectors_End | ||
EXPORT __Vectors_Size | ||
|
||
__Vectors DCD __initial_sp ; Top of Stack | ||
DCD Reset_Handler ; Reset Handler | ||
DCD NMI_Handler ; NMI Handler | ||
DCD HardFault_Handler ; Hard Fault Handler | ||
DCD MemManage_Handler ; MPU Fault Handler | ||
DCD BusFault_Handler ; Bus Fault Handler | ||
DCD UsageFault_Handler ; Usage Fault Handler | ||
DCD 0 ; Reserved | ||
DCD 0 ; Reserved | ||
DCD 0 ; Reserved | ||
DCD 0 ; Reserved | ||
DCD SVC_Handler ; SVCall Handler | ||
DCD DebugMon_Handler ; Debug Monitor Handler | ||
DCD 0 ; Reserved | ||
DCD PendSV_Handler ; PendSV Handler | ||
DCD SysTick_Handler ; SysTick Handler | ||
|
||
; /* external interrupts handler */ | ||
DCD WWDGT_IRQHandler ; 16:Window Watchdog Timer | ||
DCD LVD_IRQHandler ; 17:LVD through EXTI Line detect | ||
DCD TAMPER_IRQHandler ; 18:Tamper Interrupt | ||
DCD RTC_IRQHandler ; 19:RTC through EXTI Line | ||
DCD FMC_IRQHandler ; 20:FMC | ||
DCD RCU_IRQHandler ; 21:RCU | ||
DCD EXTI0_IRQHandler ; 22:EXTI Line 0 | ||
DCD EXTI1_IRQHandler ; 23:EXTI Line 1 | ||
DCD EXTI2_IRQHandler ; 24:EXTI Line 2 | ||
DCD EXTI3_IRQHandler ; 25:EXTI Line 3 | ||
DCD EXTI4_IRQHandler ; 26:EXTI Line 4 | ||
DCD DMA0_Channel0_IRQHandler ; 27:DMA0 Channel 0 | ||
DCD DMA0_Channel1_IRQHandler ; 28:DMA0 Channel 1 | ||
DCD DMA0_Channel2_IRQHandler ; 29:DMA0 Channel 2 | ||
DCD DMA0_Channel3_IRQHandler ; 30:DMA0 Channel 3 | ||
DCD DMA0_Channel4_IRQHandler ; 31:DMA0 Channel 4 | ||
DCD DMA0_Channel5_IRQHandler ; 32:DMA0 Channel 5 | ||
DCD DMA0_Channel6_IRQHandler ; 33:DMA0 Channel 6 | ||
DCD ADC0_1_IRQHandler ; 34:ADC0 and ADC1 | ||
DCD USBD_HP_CAN0_TX_IRQHandler ; 35:USBD and CAN0 TX | ||
DCD USBD_LP_CAN0_RX0_IRQHandler ; 36:USBD and CAN0 RX0 | ||
DCD CAN0_RX1_IRQHandler ; 37:CAN0 RX1 | ||
DCD CAN0_EWMC_IRQHandler ; 38:CAN0 EWMC | ||
DCD EXTI5_9_IRQHandler ; 39:EXTI Line 5 to EXTI Line 9 | ||
DCD TIMER0_BRK_IRQHandler ; 40:TIMER0 Break | ||
DCD TIMER0_UP_IRQHandler ; 41:TIMER0 Update | ||
DCD TIMER0_TRG_CMT_IRQHandler ; 42:TIMER0 Trigger | ||
DCD TIMER0_Channel_IRQHandler ; 43:TIMER0 Channel Capture Compare | ||
DCD TIMER1_IRQHandler ; 44:TIMER1 | ||
DCD TIMER2_IRQHandler ; 45:TIMER2 | ||
DCD TIMER3_IRQHandler ; 46:TIMER3 | ||
DCD I2C0_EV_IRQHandler ; 47:I2C0 Event | ||
DCD I2C0_ER_IRQHandler ; 48:I2C0 Error | ||
DCD I2C1_EV_IRQHandler ; 49:I2C1 Event | ||
DCD I2C1_ER_IRQHandler ; 50:I2C1 Error | ||
DCD SPI0_IRQHandler ; 51:SPI0 | ||
DCD SPI1_IRQHandler ; 52:SPI1 | ||
DCD USART0_IRQHandler ; 53:USART0 | ||
DCD USART1_IRQHandler ; 54:USART1 | ||
DCD USART2_IRQHandler ; 55:USART2 | ||
DCD EXTI10_15_IRQHandler ; 56:EXTI Line 10 to EXTI Line 15 | ||
DCD RTC_Alarm_IRQHandler ; 57:RTC Alarm through EXTI Line | ||
DCD USBD_WKUP_IRQHandler ; 58:USBD WakeUp from suspend through EXTI Line | ||
DCD 0 ; Reserved | ||
DCD 0 ; Reserved | ||
DCD 0 ; Reserved | ||
DCD 0 ; Reserved | ||
DCD 0 ; Reserved | ||
DCD EXMC_IRQHandler ; 64:EXMC | ||
|
||
__Vectors_End | ||
|
||
__Vectors_Size EQU __Vectors_End - __Vectors | ||
|
||
AREA |.text|, CODE, READONLY | ||
|
||
;/* reset Handler */ | ||
Reset_Handler PROC | ||
EXPORT Reset_Handler [WEAK] | ||
IMPORT __main | ||
IMPORT SystemInit | ||
LDR R0, =SystemInit | ||
BLX R0 | ||
LDR R0, =__main | ||
BX R0 | ||
ENDP | ||
|
||
;/* dummy Exception Handlers */ | ||
NMI_Handler PROC | ||
EXPORT NMI_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
HardFault_Handler PROC | ||
EXPORT HardFault_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
MemManage_Handler PROC | ||
EXPORT MemManage_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
BusFault_Handler PROC | ||
EXPORT BusFault_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
UsageFault_Handler PROC | ||
EXPORT UsageFault_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
SVC_Handler PROC | ||
EXPORT SVC_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
DebugMon_Handler PROC | ||
EXPORT DebugMon_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
PendSV_Handler PROC | ||
EXPORT PendSV_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
SysTick_Handler PROC | ||
EXPORT SysTick_Handler [WEAK] | ||
B . | ||
ENDP | ||
|
||
Default_Handler PROC | ||
; /* external interrupts handler */ | ||
EXPORT WWDGT_IRQHandler [WEAK] | ||
EXPORT LVD_IRQHandler [WEAK] | ||
EXPORT TAMPER_IRQHandler [WEAK] | ||
EXPORT RTC_IRQHandler [WEAK] | ||
EXPORT FMC_IRQHandler [WEAK] | ||
EXPORT RCU_IRQHandler [WEAK] | ||
EXPORT EXTI0_IRQHandler [WEAK] | ||
EXPORT EXTI1_IRQHandler [WEAK] | ||
EXPORT EXTI2_IRQHandler [WEAK] | ||
EXPORT EXTI3_IRQHandler [WEAK] | ||
EXPORT EXTI4_IRQHandler [WEAK] | ||
EXPORT DMA0_Channel0_IRQHandler [WEAK] | ||
EXPORT DMA0_Channel1_IRQHandler [WEAK] | ||
EXPORT DMA0_Channel2_IRQHandler [WEAK] | ||
EXPORT DMA0_Channel3_IRQHandler [WEAK] | ||
EXPORT DMA0_Channel4_IRQHandler [WEAK] | ||
EXPORT DMA0_Channel5_IRQHandler [WEAK] | ||
EXPORT DMA0_Channel6_IRQHandler [WEAK] | ||
EXPORT ADC0_1_IRQHandler [WEAK] | ||
EXPORT USBD_HP_CAN0_TX_IRQHandler [WEAK] | ||
EXPORT USBD_LP_CAN0_RX0_IRQHandler [WEAK] | ||
EXPORT CAN0_RX1_IRQHandler [WEAK] | ||
EXPORT CAN0_EWMC_IRQHandler [WEAK] | ||
EXPORT EXTI5_9_IRQHandler [WEAK] | ||
EXPORT TIMER0_BRK_IRQHandler [WEAK] | ||
EXPORT TIMER0_UP_IRQHandler [WEAK] | ||
EXPORT TIMER0_TRG_CMT_IRQHandler [WEAK] | ||
EXPORT TIMER0_Channel_IRQHandler [WEAK] | ||
EXPORT TIMER1_IRQHandler [WEAK] | ||
EXPORT TIMER2_IRQHandler [WEAK] | ||
EXPORT TIMER3_IRQHandler [WEAK] | ||
EXPORT I2C0_EV_IRQHandler [WEAK] | ||
EXPORT I2C0_ER_IRQHandler [WEAK] | ||
EXPORT I2C1_EV_IRQHandler [WEAK] | ||
EXPORT I2C1_ER_IRQHandler [WEAK] | ||
EXPORT SPI0_IRQHandler [WEAK] | ||
EXPORT SPI1_IRQHandler [WEAK] | ||
EXPORT USART0_IRQHandler [WEAK] | ||
EXPORT USART1_IRQHandler [WEAK] | ||
EXPORT USART2_IRQHandler [WEAK] | ||
EXPORT EXTI10_15_IRQHandler [WEAK] | ||
EXPORT RTC_Alarm_IRQHandler [WEAK] | ||
EXPORT USBD_WKUP_IRQHandler [WEAK] | ||
EXPORT EXMC_IRQHandler [WEAK] | ||
|
||
|
||
;/* external interrupts handler */ | ||
WWDGT_IRQHandler | ||
LVD_IRQHandler | ||
TAMPER_IRQHandler | ||
RTC_IRQHandler | ||
FMC_IRQHandler | ||
RCU_IRQHandler | ||
EXTI0_IRQHandler | ||
EXTI1_IRQHandler | ||
EXTI2_IRQHandler | ||
EXTI3_IRQHandler | ||
EXTI4_IRQHandler | ||
DMA0_Channel0_IRQHandler | ||
DMA0_Channel1_IRQHandler | ||
DMA0_Channel2_IRQHandler | ||
DMA0_Channel3_IRQHandler | ||
DMA0_Channel4_IRQHandler | ||
DMA0_Channel5_IRQHandler | ||
DMA0_Channel6_IRQHandler | ||
ADC0_1_IRQHandler | ||
USBD_HP_CAN0_TX_IRQHandler | ||
USBD_LP_CAN0_RX0_IRQHandler | ||
CAN0_RX1_IRQHandler | ||
CAN0_EWMC_IRQHandler | ||
EXTI5_9_IRQHandler | ||
TIMER0_BRK_IRQHandler | ||
TIMER0_UP_IRQHandler | ||
TIMER0_TRG_CMT_IRQHandler | ||
TIMER0_Channel_IRQHandler | ||
TIMER1_IRQHandler | ||
TIMER2_IRQHandler | ||
TIMER3_IRQHandler | ||
I2C0_EV_IRQHandler | ||
I2C0_ER_IRQHandler | ||
I2C1_EV_IRQHandler | ||
I2C1_ER_IRQHandler | ||
SPI0_IRQHandler | ||
SPI1_IRQHandler | ||
USART0_IRQHandler | ||
USART1_IRQHandler | ||
USART2_IRQHandler | ||
EXTI10_15_IRQHandler | ||
RTC_Alarm_IRQHandler | ||
USBD_WKUP_IRQHandler | ||
EXMC_IRQHandler | ||
|
||
|
||
|
||
B . | ||
ENDP | ||
|
||
ALIGN | ||
|
||
; user Initial Stack & Heap | ||
|
||
IF :DEF:__MICROLIB | ||
|
||
EXPORT __initial_sp | ||
EXPORT __heap_base | ||
EXPORT __heap_limit | ||
|
||
ELSE | ||
|
||
IMPORT __use_two_region_memory | ||
EXPORT __user_initial_stackheap | ||
|
||
__user_initial_stackheap PROC | ||
LDR R0, = Heap_Mem | ||
LDR R1, =(Stack_Mem + Stack_Size) | ||
LDR R2, = (Heap_Mem + Heap_Size) | ||
LDR R3, = Stack_Mem | ||
BX LR | ||
ENDP | ||
|
||
ALIGN | ||
|
||
ENDIF | ||
|
||
END |
Oops, something went wrong.