Skip to content

Commit ac824e0

Browse files
authored
Merge branch 'RT-Thread:master' into master
2 parents 360223a + 33a50d0 commit ac824e0

File tree

628 files changed

+594080
-932
lines changed

Some content is hidden

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

628 files changed

+594080
-932
lines changed

.github/workflows/action.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ jobs:
7979
- {RTT_BSP: "stm32/stm32f103-yf-ufun", RTT_TOOL_CHAIN: "sourcery-arm"}
8080
- {RTT_BSP: "stm32/stm32f107-uc-eval", RTT_TOOL_CHAIN: "sourcery-arm"}
8181
- {RTT_BSP: "stm32/stm32f207-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
82+
- {RTT_BSP: "stm32/stm32f302-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
8283
- {RTT_BSP: "stm32/stm32f401-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
8384
- {RTT_BSP: "stm32/stm32f405-smdz-breadfruit", RTT_TOOL_CHAIN: "sourcery-arm"}
8485
- {RTT_BSP: "stm32/stm32f407-atk-explorer", RTT_TOOL_CHAIN: "sourcery-arm"}
@@ -108,6 +109,7 @@ jobs:
108109
- {RTT_BSP: "stm32/stm32h747-st-discovery", RTT_TOOL_CHAIN: "sourcery-arm"}
109110
- {RTT_BSP: "stm32/stm32h750-artpi-h750", RTT_TOOL_CHAIN: "sourcery-arm"}
110111
- {RTT_BSP: "stm32/stm32l4r9-st-eval", RTT_TOOL_CHAIN: "sourcery-arm"}
112+
- {RTT_BSP: "stm32/stm32l4r9-st-sensortile-box", RTT_TOOL_CHAIN: "sourcery-arm"}
111113
- {RTT_BSP: "stm32/stm32l010-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
112114
- {RTT_BSP: "stm32/stm32l053-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}
113115
- {RTT_BSP: "stm32/stm32l412-st-nucleo", RTT_TOOL_CHAIN: "sourcery-arm"}

.github/workflows/action_utest.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ jobs:
1212
matrix:
1313
legs:
1414
- {UTEST: "kernel/mem", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "kernel/mem.conf", SD_FILE: "sd.bin"}
15+
- {UTEST: "kernel/ipc", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "kernel/ipc.conf", SD_FILE: "sd.bin"}
1516
- {UTEST: "components/utest", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", CONFIG_FILE: "utest_self/self.conf", SD_FILE: "sd.bin"}
1617
- {UTEST: "kernel/mem/riscv64", RTT_BSP: "bsp/qemu-riscv-virt64", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", CONFIG_FILE: "kernel/mem.conf", SD_FILE: "None"}
1718
env:

.ignore_format.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ dir_path:
1010
- components/net/lwip-1.4.1
1111
- components/net/lwip-2.0.2
1212
- components/net/lwip-2.0.3
13-
- components/net/lwip-2.1.2
13+
- components/net/lwip-2.1.2
14+
- bsp/mm32f327x/Libraries

bsp/bluetrum/ab32vg1-ab-prougen/.config

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ CONFIG_RT_TIMER_THREAD_STACK_SIZE=256
2929
#
3030
# CONFIG_RT_KSERVICE_USING_STDLIB is not set
3131
# CONFIG_RT_KSERVICE_USING_TINY_SIZE is not set
32+
# CONFIG_RT_USING_ASM_MEMCPY is not set
3233
CONFIG_RT_DEBUG=y
3334
# CONFIG_RT_DEBUG_COLOR is not set
3435
# CONFIG_RT_DEBUG_INIT_CONFIG is not set
@@ -74,6 +75,7 @@ CONFIG_RT_USING_DEVICE_OPS=y
7475
CONFIG_RT_USING_CONSOLE=y
7576
CONFIG_RT_CONSOLEBUF_SIZE=128
7677
CONFIG_RT_CONSOLE_DEVICE_NAME="uart0"
78+
# CONFIG_RT_PRINTF_LONGLONG is not set
7779
CONFIG_RT_VER_NUM=0x40004
7880
# CONFIG_RT_USING_CPU_FFS is not set
7981
# CONFIG_ARCH_CPU_STACK_GROWS_UPWARD is not set
@@ -162,7 +164,7 @@ CONFIG_RT_USING_PIN=y
162164
CONFIG_RT_USING_LIBC=y
163165
# CONFIG_RT_USING_PTHREADS is not set
164166
# CONFIG_RT_USING_MODULE is not set
165-
CONFIG_RT_LIBC_FIXED_TIMEZONE=8
167+
CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
166168

167169
#
168170
# Network
@@ -568,6 +570,7 @@ CONFIG_RT_LIBC_FIXED_TIMEZONE=8
568570
#
569571
CONFIG_BSP_USING_UART=y
570572
CONFIG_BSP_USING_UART0=y
573+
CONFIG_BSP_UART0_FIFO_SIZE=10
571574
# CONFIG_BSP_USING_UART1 is not set
572575
# CONFIG_BSP_USING_UART2 is not set
573576
# CONFIG_BSP_USING_SDIO is not set

bsp/bluetrum/ab32vg1-ab-prougen/board/Kconfig

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
menu "Hardware Drivers Config"
22

3+
config SOC_AB32VG1
4+
bool
5+
select PKG_USING_BLUETRUM_SDK
6+
default y
7+
38
menu "Onboard Peripheral Drivers"
49

510
menuconfig BSP_USING_AUDIO
@@ -29,20 +34,40 @@ endmenu
2934

3035
menu "On-chip Peripheral Drivers"
3136
menuconfig BSP_USING_UART
32-
bool "Enable UART"
37+
bool "Enable UART"
3338
if BSP_USING_UART
3439
config BSP_USING_UART0
3540
bool "Enable UART0"
3641
select RT_USING_SERIAL
3742
default y
43+
if BSP_USING_UART0
44+
config BSP_UART0_FIFO_SIZE
45+
int "BSP_UART0_FIFO_SIZE"
46+
range 5 255
47+
default 10
48+
endif
49+
3850
config BSP_USING_UART1
3951
bool "Enable UART1"
4052
select RT_USING_SERIAL
4153
default n
54+
if BSP_USING_UART1
55+
config BSP_UART1_FIFO_SIZE
56+
int "BSP_UART1_FIFO_SIZE"
57+
range 5 255
58+
default 10
59+
endif
60+
4261
config BSP_USING_UART2
4362
bool "Enable UART2"
4463
select RT_USING_SERIAL
4564
default n
65+
if BSP_USING_UART2
66+
config BSP_UART2_FIFO_SIZE
67+
int "BSP_UART2_FIFO_SIZE"
68+
range 5 255
69+
default 10
70+
endif
4671
endif
4772

4873
config BSP_USING_SDIO
@@ -174,12 +199,12 @@ menu "On-chip Peripheral Drivers"
174199
default n
175200
if BSP_USING_ONCHIP_RTC
176201
config RTC_USING_INTERNAL_CLK
177-
bool "Using internal clock RTC"
178-
default y
202+
bool "Using internal clock RTC"
203+
default y
179204
config RTC_USING_1S_INT
180-
bool "Using 1 second interrupt"
181-
depends on RT_USING_ALARM
182-
default n
205+
bool "Using 1 second interrupt"
206+
depends on RT_USING_ALARM
207+
default n
183208
endif
184209

185210
menuconfig BSP_USING_ADC

bsp/bluetrum/ab32vg1-ab-prougen/board/board.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ void set_cpu_irq_comm(void (*irq_hook)(void));
2121
void load_cache();
2222
void os_cache_init(void);
2323
void sys_error_hook(uint8_t err_no);
24+
void huart_timer_isr(void);
2425

2526
typedef void (*spiflash_init_func)(uint8_t sf_read, uint8_t dummy);
2627

@@ -29,6 +30,7 @@ static struct rt_mutex mutex_cache = {0};
2930
extern volatile rt_uint8_t rt_interrupt_nest;
3031
extern uint32_t __heap_start, __heap_end;
3132

33+
#ifdef RT_USING_CONSOLE
3234
void hal_printf(const char *fmt, ...)
3335
{
3436
rt_device_t console = rt_console_get_device();
@@ -64,13 +66,17 @@ void hal_printf(const char *fmt, ...)
6466
#endif
6567
va_end(args);
6668
}
69+
#endif
6770

6871
RT_SECTION(".irq.timer")
6972
void timer0_isr(int vector, void *param)
7073
{
7174
rt_interrupt_enter();
7275
TMR0CPND = BIT(9);
7376
rt_tick_increase();
77+
#ifdef RT_USING_SERIAL
78+
huart_timer_isr();
79+
#endif
7480
rt_interrupt_leave();
7581
}
7682

@@ -206,8 +212,10 @@ void exception_isr(void)
206212
extern long list_thread(void);
207213
sys_error_hook(1);
208214

215+
#ifdef RT_USING_CONSOLE
209216
rt_console_set_device(RT_NULL);
210217
rt_kprintf(stack_info, rt_thread_self()->sp, rt_thread_self()->name);
218+
#endif
211219

212220
while(1);
213221
}

bsp/bluetrum/ab32vg1-ab-prougen/rtconfig.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@
9191
/* POSIX layer and C standard library */
9292

9393
#define RT_USING_LIBC
94-
#define RT_LIBC_FIXED_TIMEZONE 8
94+
#define RT_LIBC_DEFAULT_TIMEZONE 8
9595

9696
/* Network */
9797

@@ -176,6 +176,7 @@
176176

177177
#define BSP_USING_UART
178178
#define BSP_USING_UART0
179+
#define BSP_UART0_FIFO_SIZE 10
179180

180181
/* Board extended module Drivers */
181182

bsp/bluetrum/libraries/hal_drivers/SConscript

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ from building import *
44

55
cwd = GetCurrentDir()
66
src = []
7+
src += ['drv_common.c']
78
path = [cwd]
89
path += [cwd + '/config']
910

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
#include "drv_common.h"
2+
3+
#define DRV_THREAD_PRIORITY 18
4+
#define DRV_THREAD_STACK_SIZE 512
5+
#define DRV_THREAD_TIMESLICE 5
6+
7+
enum {
8+
MSG_UART0_IRQ,
9+
MSG_UART1_IRQ,
10+
MSG_UART2_IRQ,
11+
};
12+
13+
static rt_thread_t drv_tid = RT_NULL;
14+
static rt_mq_t drv_mq = RT_NULL;
15+
16+
void uart0_irq_process(void);
17+
void uart1_irq_process(void);
18+
19+
RT_SECTION(".irq.uart")
20+
void uart0_irq_post(void)
21+
{
22+
uint8_t mq_msg = MSG_UART0_IRQ;
23+
rt_mq_send(drv_mq, &mq_msg, 1);
24+
}
25+
26+
RT_SECTION(".irq.uart")
27+
void uart1_irq_post(void)
28+
{
29+
uint8_t mq_msg = MSG_UART1_IRQ;
30+
rt_mq_send(drv_mq, &mq_msg, 1);
31+
}
32+
33+
RT_SECTION(".irq.uart")
34+
void uart2_irq_post(void)
35+
{
36+
uint8_t mq_msg = MSG_UART2_IRQ;
37+
rt_mq_send(drv_mq, &mq_msg, 1);
38+
}
39+
40+
static void drv_thread_entry(void *parameter)
41+
{
42+
uint8_t mq_msg = 0;
43+
while (1) {
44+
rt_mq_recv(drv_mq, &mq_msg, 1, RT_WAITING_FOREVER);
45+
switch (mq_msg) {
46+
#ifdef BSP_USING_UART0
47+
case MSG_UART0_IRQ:
48+
uart0_irq_process();
49+
break;
50+
#endif
51+
#ifdef BSP_USING_UART1
52+
case MSG_UART1_IRQ:
53+
uart1_irq_process();
54+
break;
55+
#endif
56+
#ifdef BSP_USING_UART2
57+
case MSG_UART2_IRQ:
58+
uart2_irq_process();
59+
break;
60+
#endif
61+
default:
62+
break;
63+
}
64+
}
65+
}
66+
67+
static int drv_thread_init(void)
68+
{
69+
drv_mq = rt_mq_create("drv", 1, 128, RT_IPC_FLAG_FIFO);
70+
drv_tid = rt_thread_create("drv",
71+
drv_thread_entry,
72+
RT_NULL,
73+
DRV_THREAD_STACK_SIZE,
74+
DRV_THREAD_PRIORITY,
75+
DRV_THREAD_TIMESLICE);
76+
77+
if (drv_tid != RT_NULL)
78+
rt_thread_startup(drv_tid);
79+
}
80+
INIT_PREV_EXPORT(drv_thread_init);

bsp/bluetrum/libraries/hal_drivers/drv_common.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,8 @@
1717

1818
#define GET_PIN(PORTx,PIN) (uint8_t)__AB32_GET_PIN_##PORTx(PIN)
1919

20+
void uart0_irq_post(void);
21+
void uart1_irq_post(void);
22+
void uart2_irq_post(void);
23+
2024
#endif // DRV_COMMON_H__

0 commit comments

Comments
 (0)