Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
rt-thread
提交
8d0328c7
R
rt-thread
项目概览
BaiXuePrincess
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8d0328c7
编写于
5月 23, 2018
作者:
L
luo jiao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[bsp][gd32303e-eval]add gcc support
上级
da6f9e2d
变更
16
展开全部
显示空白变更内容
内联
并排
Showing
16 changed file
with
3351 addition
and
239 deletion
+3351
-239
bsp/gd32303e-eval/Libraries/CMSIS/GD/GD32F30x/Source/GCC/startup_gd32f30x_hd.S
...raries/CMSIS/GD/GD32F30x/Source/GCC/startup_gd32f30x_hd.S
+271
-0
bsp/gd32303e-eval/Libraries/SConscript
bsp/gd32303e-eval/Libraries/SConscript
+1
-4
bsp/gd32303e-eval/README.md
bsp/gd32303e-eval/README.md
+2
-1
bsp/gd32303e-eval/RTE/_rt-thread_gd32f30x/RTE_Components.h
bsp/gd32303e-eval/RTE/_rt-thread_gd32f30x/RTE_Components.h
+20
-0
bsp/gd32303e-eval/applications/main.c
bsp/gd32303e-eval/applications/main.c
+2
-2
bsp/gd32303e-eval/cconfig.h
bsp/gd32303e-eval/cconfig.h
+18
-0
bsp/gd32303e-eval/drivers/board.c
bsp/gd32303e-eval/drivers/board.c
+11
-12
bsp/gd32303e-eval/drivers/board.h
bsp/gd32303e-eval/drivers/board.h
+0
-27
bsp/gd32303e-eval/drivers/drv_gpio.c
bsp/gd32303e-eval/drivers/drv_gpio.c
+2
-2
bsp/gd32303e-eval/drivers/drv_i2c.c
bsp/gd32303e-eval/drivers/drv_i2c.c
+153
-153
bsp/gd32303e-eval/drivers/drv_spi.c
bsp/gd32303e-eval/drivers/drv_spi.c
+10
-10
bsp/gd32303e-eval/drivers/drv_usart.c
bsp/gd32303e-eval/drivers/drv_usart.c
+23
-24
bsp/gd32303e-eval/gd32_rom.ld
bsp/gd32303e-eval/gd32_rom.ld
+1
-1
bsp/gd32303e-eval/project.ewd
bsp/gd32303e-eval/project.ewd
+2834
-0
bsp/gd32303e-eval/project.uvoptx
bsp/gd32303e-eval/project.uvoptx
+1
-1
bsp/gd32303e-eval/rtconfig.py
bsp/gd32303e-eval/rtconfig.py
+2
-2
未找到文件。
bsp/gd32303e-eval/Libraries/CMSIS/GD/GD32F30x/Source/GCC/startup_gd32f30x_hd.S
0 → 100644
浏览文件 @
8d0328c7
;/*
; * File : startup_gd32f30x_hd.s
; * This file is part of RT-Thread RTOS
; * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team
; *
; * This program is free software; you can redistribute it and/or modify
; * it under the terms of the GNU General Public License as published by
; * the Free Software Foundation; either version 2 of the License, or
; * (at your option) any later version.
; *
; * This program is distributed in the hope that it will be useful,
; * but WITHOUT ANY WARRANTY; without even the implied warranty of
; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
; * GNU General Public License for more details.
; *
; * You should have received a copy of the GNU General Public License along
; * with this program; if not, write to the Free Software Foundation, Inc.,
; * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
; *
; * Change Logs:
; * Date Author Notes
; * 2018-05-22 tanek first implementation
; */
.
syntax
unified
.
cpu
cortex
-
m4
.
fpu
softvfp
.
thumb
.
global
g_pfnVectors
.
global
Default_Handler
.
section
.
isr_vector
,
"a"
,%
progbits
.
type
g_pfnVectors
,
%
object
g_pfnVectors
:
.
word
_estack
//
Top
of
Stack
.
word
Reset_Handler
//
Reset
Handler
.
word
NMI_Handler
//
NMI
Handler
.
word
HardFault_Handler
//
Hard
Fault
Handler
.
word
MemManage_Handler
//
MPU
Fault
Handler
.
word
BusFault_Handler
//
Bus
Fault
Handler
.
word
UsageFault_Handler
//
Usage
Fault
Handler
.
word
0
//
Reserved
.
word
0
//
Reserved
.
word
0
//
Reserved
.
word
0
//
Reserved
.
word
SVC_Handler
//
SVCall
Handler
.
word
DebugMon_Handler
//
Debug
Monitor
Handler
.
word
0
//
Reserved
.
word
PendSV_Handler
//
PendSV
Handler
.
word
SysTick_Handler
//
SysTick
Handler
//
external
interrupts
handler
.
word
WWDGT_IRQHandler
//
16
:
Window
Watchdog
Timer
.
word
LVD_IRQHandler
//
17
:
LVD
through
EXTI
Line
detect
.
word
TAMPER_IRQHandler
//
18
:
Tamper
through
EXTI
Line
detect
.
word
RTC_IRQHandler
//
19
:
RTC
through
EXTI
Line
.
word
FMC_IRQHandler
//
20
:
FMC
.
word
RCU_CTC_IRQHandler
//
21
:
RCU
and
CTC
.
word
EXTI0_IRQHandler
//
22
:
EXTI
Line
0
.
word
EXTI1_IRQHandler
//
23
:
EXTI
Line
1
.
word
EXTI2_IRQHandler
//
24
:
EXTI
Line
2
.
word
EXTI3_IRQHandler
//
25
:
EXTI
Line
3
.
word
EXTI4_IRQHandler
//
26
:
EXTI
Line
4
.
word
DMA0_Channel0_IRQHandler
//
27
:
DMA0
Channel0
.
word
DMA0_Channel1_IRQHandler
//
28
:
DMA0
Channel1
.
word
DMA0_Channel2_IRQHandler
//
29
:
DMA0
Channel2
.
word
DMA0_Channel3_IRQHandler
//
30
:
DMA0
Channel3
.
word
DMA0_Channel4_IRQHandler
//
31
:
DMA0
Channel4
.
word
DMA0_Channel5_IRQHandler
//
32
:
DMA0
Channel5
.
word
DMA0_Channel6_IRQHandler
//
33
:
DMA0
Channel6
.
word
ADC0_1_IRQHandler
//
34
:
ADC0
and
ADC1
.
word
USBD_HP_CAN0_TX_IRQHandler
//
35
:
USBD
HP
and
CAN0
TX
.
word
USBD_LP_CAN0_RX0_IRQHandler
//
36
:
USBD
LP
and
CAN0
RX0
.
word
CAN0_RX1_IRQHandler
//
37
:
CAN0
RX1
.
word
CAN0_EWMC_IRQHandler
//
38
:
CAN0
EWMC
.
word
EXTI5_9_IRQHandler
//
39
:
EXTI5
to
EXTI9
.
word
TIMER0_BRK_IRQHandler
//
40
:
TIMER0
Break
.
word
TIMER0_UP_IRQHandler
//
41
:
TIMER0
Update
.
word
TIMER0_TRG_CMT_IRQHandler
//
42
:
TIMER0
Trigger
and
Commutation
.
word
TIMER0_Channel_IRQHandler
//
43
:
TIMER0
Channel
Capture
Compare
.
word
TIMER1_IRQHandler
//
44
:
TIMER1
.
word
TIMER2_IRQHandler
//
45
:
TIMER2
.
word
TIMER3_IRQHandler
//
46
:
TIMER3
.
word
I2C0_EV_IRQHandler
//
47
:
I2C0
Event
.
word
I2C0_ER_IRQHandler
//
48
:
I2C0
Error
.
word
I2C1_EV_IRQHandler
//
49
:
I2C1
Event
.
word
I2C1_ER_IRQHandler
//
50
:
I2C1
Error
.
word
SPI0_IRQHandler
//
51
:
SPI0
.
word
SPI1_IRQHandler
//
52
:
SPI1
.
word
USART0_IRQHandler
//
53
:
USART0
.
word
USART1_IRQHandler
//
54
:
USART1
.
word
USART2_IRQHandler
//
55
:
USART2
.
word
EXTI10_15_IRQHandler
//
56
:
EXTI10
to
EXTI15
.
word
RTC_Alarm_IRQHandler
//
57
:
RTC
Alarm
.
word
USBD_WKUP_IRQHandler
//
58
:
USBD
Wakeup
.
word
TIMER7_BRK_IRQHandler
//
59
:
TIMER7
Break
.
word
TIMER7_UP_IRQHandler
//
60
:
TIMER7
Update
.
word
TIMER7_TRG_CMT_IRQHandler
//
61
:
TIMER7
Trigger
and
Commutation
.
word
TIMER7_Channel_IRQHandler
//
62
:
TIMER7
Channel
Capture
Compare
.
word
ADC2_IRQHandler
//
63
:
ADC2
.
word
EXMC_IRQHandler
//
64
:
EXMC
.
word
SDIO_IRQHandler
//
65
:
SDIO
.
word
TIMER4_IRQHandler
//
66
:
TIMER4
.
word
SPI2_IRQHandler
//
67
:
SPI2
.
word
UART3_IRQHandler
//
68
:
UART3
.
word
UART4_IRQHandler
//
69
:
UART4
.
word
TIMER5_IRQHandler
//
70
:
TIMER5
.
word
TIMER6_IRQHandler
//
71
:
TIMER6
.
word
DMA1_Channel0_IRQHandler
//
72
:
DMA1
Channel0
.
word
DMA1_Channel1_IRQHandler
//
73
:
DMA1
Channel1
.
word
DMA1_Channel2_IRQHandler
//
74
:
DMA1
Channel2
.
word
DMA1_Channel3_4_IRQHandler
//
75
:
DMA1
Channel3
and
Channel4
.
size
g_pfnVectors
,
.
-
g_pfnVectors
.
section
.
text
.
Reset_Handler
.
weak
Reset_Handler
.
type
Reset_Handler
,
%
function
Reset_Handler
:
ldr
r1
,
=
_sidata
ldr
r2
,
=
_sdata
ldr
r3
,
=
_edata
subs
r3
,
r2
ble
fill_bss_start
loop_copy_data
:
subs
r3
,
#
4
ldr
r0
,
[
r1
,
r3
]
str
r0
,
[
r2
,
r3
]
bgt
loop_copy_data
fill_bss_start
:
ldr
r1
,
=
__bss_start
ldr
r2
,
=
__bss_end
movs
r0
,
0
subs
r2
,
r1
ble
startup_enter
loop_fill_bss
:
subs
r2
,
#
4
str
r0
,
[
r1
,
r2
]
bgt
loop_fill_bss
startup_enter
:
bl
SystemInit
bl
entry
/
*
Exception
Handlers
*/
.
weak
NMI_Handler
.
type
NMI_Handler
,
%
function
NMI_Handler
:
b
.
.
size
NMI_Handler
,
.
-
NMI_Handler
.
weak
MemManage_Handler
.
type
MemManage_Handler
,
%
function
MemManage_Handler
:
b
.
.
size
MemManage_Handler
,
.
-
MemManage_Handler
.
weak
BusFault_Handler
.
type
BusFault_Handler
,
%
function
BusFault_Handler
:
b
.
.
size
BusFault_Handler
,
.
-
BusFault_Handler
.
weak
UsageFault_Handler
.
type
UsageFault_Handler
,
%
function
UsageFault_Handler
:
b
.
.
size
UsageFault_Handler
,
.
-
UsageFault_Handler
.
weak
SVC_Handler
.
type
SVC_Handler
,
%
function
SVC_Handler
:
b
.
.
size
SVC_Handler
,
.
-
SVC_Handler
.
weak
DebugMon_Handler
.
type
DebugMon_Handler
,
%
function
DebugMon_Handler
:
b
.
.
size
DebugMon_Handler
,
.
-
DebugMon_Handler
.
weak
PendSV_Handler
.
type
PendSV_Handler
,
%
function
PendSV_Handler
:
b
.
.
size
PendSV_Handler
,
.
-
PendSV_Handler
.
weak
SysTick_Handler
.
type
SysTick_Handler
,
%
function
SysTick_Handler
:
b
.
.
size
SysTick_Handler
,
.
-
SysTick_Handler
/
*
IQR
Handler
*/
.
section
.
text
.
Default_Handler
,
"ax"
,%
progbits
.
type
Default_Handler
,
%
function
Default_Handler
:
b
.
.
size
Default_Handler
,
.
-
Default_Handler
.
macro
IRQ
handler
.
weak
\
handler
.
set
\
handler
,
Default_Handler
.
endm
IRQ
WWDGT_IRQHandler
IRQ
LVD_IRQHandler
IRQ
TAMPER_IRQHandler
IRQ
RTC_IRQHandler
IRQ
FMC_IRQHandler
IRQ
RCU_CTC_IRQHandler
IRQ
EXTI0_IRQHandler
IRQ
EXTI1_IRQHandler
IRQ
EXTI2_IRQHandler
IRQ
EXTI3_IRQHandler
IRQ
EXTI4_IRQHandler
IRQ
DMA0_Channel0_IRQHandler
IRQ
DMA0_Channel1_IRQHandler
IRQ
DMA0_Channel2_IRQHandler
IRQ
DMA0_Channel3_IRQHandler
IRQ
DMA0_Channel4_IRQHandler
IRQ
DMA0_Channel5_IRQHandler
IRQ
DMA0_Channel6_IRQHandler
IRQ
ADC0_1_IRQHandler
IRQ
USBD_HP_CAN0_TX_IRQHandler
IRQ
USBD_LP_CAN0_RX0_IRQHandler
IRQ
CAN0_RX1_IRQHandler
IRQ
CAN0_EWMC_IRQHandler
IRQ
EXTI5_9_IRQHandler
IRQ
TIMER0_BRK_IRQHandler
IRQ
TIMER0_UP_IRQHandler
IRQ
TIMER0_TRG_CMT_IRQHandler
IRQ
TIMER0_Channel_IRQHandler
IRQ
TIMER1_IRQHandler
IRQ
TIMER2_IRQHandler
IRQ
TIMER3_IRQHandler
IRQ
I2C0_EV_IRQHandler
IRQ
I2C0_ER_IRQHandler
IRQ
I2C1_EV_IRQHandler
IRQ
I2C1_ER_IRQHandler
IRQ
SPI0_IRQHandler
IRQ
SPI1_IRQHandler
IRQ
USART0_IRQHandler
IRQ
USART1_IRQHandler
IRQ
USART2_IRQHandler
IRQ
EXTI10_15_IRQHandler
IRQ
RTC_Alarm_IRQHandler
IRQ
USBD_WKUP_IRQHandler
IRQ
TIMER7_BRK_IRQHandler
IRQ
TIMER7_UP_IRQHandler
IRQ
TIMER7_TRG_CMT_IRQHandler
IRQ
TIMER7_Channel_IRQHandler
IRQ
ADC2_IRQHandler
IRQ
EXMC_IRQHandler
IRQ
SDIO_IRQHandler
IRQ
TIMER4_IRQHandler
IRQ
SPI2_IRQHandler
IRQ
UART3_IRQHandler
IRQ
UART4_IRQHandler
IRQ
TIMER5_IRQHandler
IRQ
TIMER6_IRQHandler
IRQ
DMA1_Channel0_IRQHandler
IRQ
DMA1_Channel1_IRQHandler
IRQ
DMA1_Channel2_IRQHandler
IRQ
DMA1_Channel3_4_IRQHandler
bsp/gd32303e-eval/Libraries/SConscript
浏览文件 @
8d0328c7
...
...
@@ -11,10 +11,7 @@ src += [cwd + '/CMSIS/GD/GD32F30x/Source/system_gd32f30x.c']
#add for startup script
if
rtconfig
.
CROSS_TOOL
==
'gcc'
:
print
(
'================================================='
)
print
(
'Not support gcc yet !'
)
print
(
'================================================='
)
exit
(
0
)
src
+=
[
cwd
+
'/CMSIS/GD/GD32F30x/Source/GCC/startup_gd32f30x_hd.s'
]
elif
rtconfig
.
CROSS_TOOL
==
'keil'
:
src
+=
[
cwd
+
'/CMSIS/GD/GD32F30x/Source/ARM/startup_gd32f30x_hd.s'
]
elif
rtconfig
.
CROSS_TOOL
==
'iar'
:
...
...
bsp/gd32303e-eval/README.md
浏览文件 @
8d0328c7
...
...
@@ -15,12 +15,13 @@
## 2. 编译说明
GD32303E-EVAL板级包支持MDK5
和IAR。
GD32303E-EVAL板级包支持MDK5
、IAR开发环境和GCC编译器,以下是具体版本信息:
| IDE/编译器 | 已测试版本 |
| -- | -- |
| MDK5 | MDK5.25 |
| IAR | IAR8.20 |
| GCC | GCC 5.4.1 20160919 (release) |
## 3. 烧写及执行
...
...
bsp/gd32303e-eval/RTE/_rt-thread_gd32f30x/RTE_Components.h
0 → 100644
浏览文件 @
8d0328c7
/*
* Auto generated Run-Time-Environment Component Configuration File
* *** Do not modify ! ***
*
* Project: 'project'
* Target: 'rt-thread_gd32f30x'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "gd32f30x.h"
#endif
/* RTE_COMPONENTS_H */
bsp/gd32303e-eval/applications/main.c
浏览文件 @
8d0328c7
bsp/gd32303e-eval/cconfig.h
0 → 100644
浏览文件 @
8d0328c7
#ifndef CCONFIG_H__
#define CCONFIG_H__
/* Automatically generated file; DO NOT EDIT. */
/* compiler configure file for RT-Thread in GCC*/
#define HAVE_NEWLIB_H 1
#define LIBC_VERSION "newlib 2.4.0"
#define HAVE_SYS_SIGNAL_H 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_PTHREAD_H 1
#define HAVE_FDSET 1
#define HAVE_SIGACTION 1
#define GCC_VERSION "5.4.1 20160919 (release) [ARM/embedded-5-branch revision 240496]"
#define STDC "2011"
#endif
bsp/gd32303e-eval/drivers/board.c
浏览文件 @
8d0328c7
...
...
@@ -25,7 +25,7 @@ void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler */
/* User can add his own implementation to report the HAL error return state */
while
(
1
)
while
(
1
)
{
}
/* USER CODE END Error_Handler */
...
...
@@ -54,7 +54,6 @@ void SysTick_Handler(void)
rt_interrupt_leave
();
}
/**
* This function will initial GD32 board.
*/
...
...
@@ -77,7 +76,7 @@ void rt_hw_board_init()
#endif
#ifdef RT_USING_CONSOLE
rt_console_set_device
(
CONSOLE_DEVIC
E
);
rt_console_set_device
(
RT_CONSOLE_DEVICE_NAM
E
);
#endif
#ifdef RT_USING_HEAP
...
...
bsp/gd32303e-eval/drivers/board.h
浏览文件 @
8d0328c7
...
...
@@ -42,33 +42,6 @@ extern int __bss_end;
#define HEAP_END GD32_SRAM_END
// <o> Console on USART:
// <127=> no console
// <0=>USART 0 <1=>USART 1 <2=>USART 2 <3=> USART 3
// <4=>USART 4
// <i>Default: 0
#define GD32_CONSOLE_USART 0
void
rt_hw_board_init
(
void
);
#if GD32_CONSOLE_USART == 127
#define CONSOLE_DEVICE "no"
#elif GD32_CONSOLE_USART == 0
#define CONSOLE_DEVICE "uart0"
#elif GD32_CONSOLE_USART == 1
#define CONSOLE_DEVICE "uart1"
#elif GD32_CONSOLE_USART == 2
#define CONSOLE_DEVICE "uart2"
#elif GD32_CONSOLE_USART == 3
#define CONSOLE_DEVICE "uart3"
#elif GD32_CONSOLE_USART == 4
#define CONSOLE_DEVICE "uart4"
#endif
#define FINSH_DEVICE_NAME CONSOLE_DEVICE
void
Error_Handler
(
void
);
#endif
//*** <<< end of configuration section >>> ***
bsp/gd32303e-eval/drivers/drv_gpio.c
浏览文件 @
8d0328c7
bsp/gd32303e-eval/drivers/drv_i2c.c
浏览文件 @
8d0328c7
bsp/gd32303e-eval/drivers/drv_spi.c
浏览文件 @
8d0328c7
bsp/gd32303e-eval/drivers/drv_usart.c
浏览文件 @
8d0328c7
...
...
@@ -296,7 +296,6 @@ static rt_err_t gd32_control(struct rt_serial_device *serial, int cmd, void *arg
/* enable interrupt */
usart_interrupt_enable
(
uart
->
uart_periph
,
USART_INT_RBNE
);
break
;
}
return
RT_EOK
;
...
...
@@ -355,7 +354,7 @@ static const struct rt_uart_ops gd32_uart_ops =
gd32_configure
,
gd32_control
,
gd32_putc
,
gd32_getc
,
gd32_getc
};
int
gd32_hw_usart_init
(
void
)
...
...
bsp/gd32303e-eval/gd32_rom.ld
浏览文件 @
8d0328c7
/*
* linker script for GD32F
4x
x with GNU ld
* linker script for GD32F
30
x with GNU ld
* bernard.xiong 2009-10-14
*/
...
...
bsp/gd32303e-eval/project.ewd
0 → 100644
浏览文件 @
8d0328c7
此差异已折叠。
点击以展开。
bsp/gd32303e-eval/project.uvoptx
浏览文件 @
8d0328c7
...
...
@@ -196,7 +196,7 @@
<Group>
<GroupName>
Drivers
</GroupName>
<tvExp>
0
</tvExp>
<tvExp>
1
</tvExp>
<tvExpOptDlg>
0
</tvExpOptDlg>
<cbSel>
0
</cbSel>
<RteFlg>
0
</RteFlg>
...
...
bsp/gd32303e-eval/rtconfig.py
浏览文件 @
8d0328c7
...
...
@@ -12,7 +12,7 @@ if os.getenv('RTT_CC'):
# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR
if
CROSS_TOOL
==
'gcc'
:
PLATFORM
=
'gcc'
EXEC_PATH
=
'D:/ArdaArmTools/GNUARM_4.9_2015q1
/bin'
EXEC_PATH
=
r
'D:/toolchain/gnu_tools_arm_embedded/5.4_2016q3
/bin'
elif
CROSS_TOOL
==
'keil'
:
PLATFORM
=
'armcc'
EXEC_PATH
=
r
'C:/Keil_v5'
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录