Skip to content

Commit 015418f

Browse files
author
tangyuxin
committed
[bsp][simulator] 支持自动初始化及用户 main 入口
1 parent 08a4de5 commit 015418f

File tree

13 files changed

+441
-127
lines changed

13 files changed

+441
-127
lines changed

bsp/simulator/.config

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,10 @@ CONFIG_RT_VER_NUM=0x40003
7272
#
7373
# RT-Thread Components
7474
#
75-
# CONFIG_RT_USING_COMPONENTS_INIT is not set
76-
# CONFIG_RT_USING_USER_MAIN is not set
75+
CONFIG_RT_USING_COMPONENTS_INIT=y
76+
CONFIG_RT_USING_USER_MAIN=y
77+
CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048
78+
CONFIG_RT_MAIN_THREAD_PRIORITY=10
7779

7880
#
7981
# C++ features
@@ -133,8 +135,6 @@ CONFIG_RT_DFS_ELM_REENTRANT=y
133135
CONFIG_RT_USING_DFS_DEVFS=y
134136
# CONFIG_RT_USING_DFS_ROMFS is not set
135137
# CONFIG_RT_USING_DFS_RAMFS is not set
136-
# CONFIG_RT_USING_DFS_UFFS is not set
137-
# CONFIG_RT_USING_DFS_JFFS2 is not set
138138

139139
#
140140
# Device Drivers
@@ -285,8 +285,6 @@ CONFIG_RT_LIBC_USING_TIME=y
285285
# CONFIG_PKG_USING_LIBRWS is not set
286286
# CONFIG_PKG_USING_TCPSERVER is not set
287287
# CONFIG_PKG_USING_PROTOBUF_C is not set
288-
# CONFIG_PKG_USING_ONNX_PARSER is not set
289-
# CONFIG_PKG_USING_ONNX_BACKEND is not set
290288
# CONFIG_PKG_USING_DLT645 is not set
291289
# CONFIG_PKG_USING_QXWZ is not set
292290
# CONFIG_PKG_USING_SMTP_CLIENT is not set
@@ -301,6 +299,10 @@ CONFIG_RT_LIBC_USING_TIME=y
301299
# CONFIG_PKG_USING_BTSTACK is not set
302300
# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
303301
# CONFIG_PKG_USING_WAYZ_IOTKIT is not set
302+
# CONFIG_PKG_USING_MAVLINK is not set
303+
# CONFIG_PKG_USING_RAPIDJSON is not set
304+
# CONFIG_PKG_USING_BSAL is not set
305+
# CONFIG_PKG_USING_AGILE_MODBUS is not set
304306

305307
#
306308
# security packages
@@ -382,6 +384,8 @@ CONFIG_RT_LIBC_USING_TIME=y
382384
# CONFIG_PKG_USING_CMSIS is not set
383385
# CONFIG_PKG_USING_DFS_YAFFS is not set
384386
# CONFIG_PKG_USING_LITTLEFS is not set
387+
# CONFIG_PKG_USING_DFS_JFFS2 is not set
388+
# CONFIG_PKG_USING_DFS_UFFS is not set
385389
# CONFIG_PKG_USING_THREAD_POOL is not set
386390
# CONFIG_PKG_USING_ROBOTS is not set
387391
# CONFIG_PKG_USING_EV is not set
@@ -409,6 +413,7 @@ CONFIG_RT_LIBC_USING_TIME=y
409413
# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
410414
# CONFIG_PKG_USING_QFPLIB_M3 is not set
411415
# CONFIG_PKG_USING_LPM is not set
416+
# CONFIG_PKG_USING_TLSF is not set
412417

413418
#
414419
# peripheral libraries and drivers
@@ -471,6 +476,23 @@ CONFIG_RT_LIBC_USING_TIME=y
471476
# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
472477
# CONFIG_PKG_USING_VDEVICE is not set
473478
# CONFIG_PKG_USING_SGM706 is not set
479+
# CONFIG_PKG_USING_STM32WB55_SDK is not set
480+
# CONFIG_PKG_USING_RDA58XX is not set
481+
# CONFIG_PKG_USING_LIBNFC is not set
482+
# CONFIG_PKG_USING_MFOC is not set
483+
# CONFIG_PKG_USING_TMC51XX is not set
484+
485+
#
486+
# AI packages
487+
#
488+
# CONFIG_PKG_USING_LIBANN is not set
489+
# CONFIG_PKG_USING_NNOM is not set
490+
# CONFIG_PKG_USING_ONNX_BACKEND is not set
491+
# CONFIG_PKG_USING_ONNX_PARSER is not set
492+
# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
493+
# CONFIG_PKG_USING_ELAPACK is not set
494+
# CONFIG_PKG_USING_ULAPACK is not set
495+
# CONFIG_PKG_USING_QUEST is not set
474496

475497
#
476498
# miscellaneous packages
@@ -502,25 +524,23 @@ CONFIG_RT_LIBC_USING_TIME=y
502524
# CONFIG_PKG_USING_HELLO is not set
503525
# CONFIG_PKG_USING_VI is not set
504526
# CONFIG_PKG_USING_KI is not set
505-
# CONFIG_PKG_USING_NNOM is not set
506-
# CONFIG_PKG_USING_LIBANN is not set
507-
# CONFIG_PKG_USING_ELAPACK is not set
508527
# CONFIG_PKG_USING_ARMv7M_DWT is not set
509528
# CONFIG_PKG_USING_VT100 is not set
510-
# CONFIG_PKG_USING_ULAPACK is not set
511529
# CONFIG_PKG_USING_UKAL is not set
512530
# CONFIG_PKG_USING_CRCLIB is not set
513531

514532
#
515-
# games: games run on RT-Thread console
533+
# entertainment: terminal games and other interesting software packages
516534
#
517535
# CONFIG_PKG_USING_THREES is not set
518536
# CONFIG_PKG_USING_2048 is not set
519537
# CONFIG_PKG_USING_SNAKE is not set
520538
# CONFIG_PKG_USING_TETRIS is not set
539+
# CONFIG_PKG_USING_DONUT is not set
540+
# CONFIG_PKG_USING_ACLOCK is not set
521541
# CONFIG_PKG_USING_LWGPS is not set
522-
# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
523542
# CONFIG_PKG_USING_STATE_MACHINE is not set
524543
# CONFIG_PKG_USING_MCURSES is not set
525544
# CONFIG_PKG_USING_COWSAY is not set
545+
CONFIG_SOC_SIMULATOR=y
526546
CONFIG_RT_USING_DFS_WINSHAREDIR=y

bsp/simulator/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,16 @@ config PKGS_DIR
1818
source "$RTT_DIR/Kconfig"
1919
source "$PKGS_DIR/Kconfig"
2020

21+
config SOC_SIMULATOR
22+
bool
23+
select RT_USING_COMPONENTS_INIT
24+
select RT_USING_USER_MAIN
25+
default y
26+
2127
if RT_USING_DFS
2228
config RT_USING_DFS_WINSHAREDIR
2329
bool "Enable shared file system between windows"
2430
default n
2531
endif
32+
33+

bsp/simulator/SConstruct

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,19 @@ def ObjRemove(objs, remove):
8686
objs.remove(item)
8787
return
8888

89+
def ProjectRemove(group, remove):
90+
global Projects
91+
for item in Projects:
92+
if item['name'] == group:
93+
for src in item['src']:
94+
if os.path.basename(str(src)) in remove:
95+
# print(type(src), os.path.basename(str(src)) )
96+
item['src'].remove(src)
97+
return
98+
99+
ObjRemove(objs, ['components.obj', 'components.o', 'components.c'])
100+
ProjectRemove('Kernel', ['components.obj', 'components.o', 'components.c'])
101+
89102
# build program -shared
90103
if GetDepend('RT_USING_MODULE'):
91104
# Remove module.c in $RTT_ROOT/src

bsp/simulator/applications/application.c

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,37 +11,8 @@
1111
#include <stdio.h>
1212
#include <board.h>
1313

14-
extern int platform_init(void);
15-
extern int platform_post_init(void);
16-
extern int mnt_init(void);
17-
18-
void rt_init_thread_entry(void *parameter)
14+
int main(void)
1915
{
2016
rt_kprintf("Hello RT-Thread!\n");
21-
22-
platform_init();
23-
mnt_init();
24-
25-
platform_post_init();
26-
27-
#if defined(PKG_USING_GUIENGINE) && defined(GUIENGINE_USING_DEMO)
28-
{
29-
extern int rt_gui_demo_init(void);
30-
rt_gui_demo_init();
31-
}
32-
#endif
33-
}
34-
35-
int rt_application_init()
36-
{
37-
rt_thread_t tid;
38-
39-
tid = rt_thread_create("init",
40-
rt_init_thread_entry, RT_NULL,
41-
2048, RT_THREAD_PRIORITY_MAX / 3, 20);
42-
43-
if (tid != RT_NULL)
44-
rt_thread_startup(tid);
45-
4617
return 0;
4718
}

bsp/simulator/applications/mnt.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515

1616
int mnt_init(void)
1717
{
18-
dfs_init();
19-
2018
#ifdef RT_USING_DFS_WINSHAREDIR
2119
extern int dfs_win32_init(void);
2220
extern rt_err_t rt_win_sharedir_init(const char *name);
@@ -54,5 +52,5 @@ int mnt_init(void)
5452

5553
return 0;
5654
}
57-
55+
INIT_COMPONENT_EXPORT(mnt_init);
5856
#endif

bsp/simulator/applications/platform.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@
1313

1414
int platform_init(void)
1515
{
16-
finsh_system_init();
17-
1816
#ifdef RT_USING_LWIP
1917
#ifdef RT_USING_TAPNETIF
2018
tap_netif_hw_init();
@@ -39,6 +37,7 @@ int platform_init(void)
3937

4038
return 0;
4139
}
40+
INIT_COMPONENT_EXPORT(platform_init);
4241

4342
int platform_post_init(void)
4443
{
@@ -51,6 +50,6 @@ int platform_post_init(void)
5150
rt_hw_sdl_start();
5251
}
5352
#endif
54-
5553
return 0;
5654
}
55+
INIT_COMPONENT_EXPORT(platform_post_init);

bsp/simulator/applications/startup.c

Lines changed: 0 additions & 73 deletions
This file was deleted.

bsp/simulator/drivers/board.c

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
/**
1919
* @addtogroup simulator on win32
2020
*/
21-
rt_uint8_t *heap;
2221

2322
rt_uint8_t *rt_hw_sram_init(void)
2423
{
@@ -33,6 +32,10 @@ rt_uint8_t *rt_hw_sram_init(void)
3332
exit(1);
3433
#endif
3534
}
35+
#ifdef RT_USING_HEAP
36+
/* init memory system */
37+
rt_system_heap_init((void*)heap, (void*)&heap[RT_HEAP_SIZE - 1]);
38+
#endif
3639
return heap;
3740
}
3841

@@ -87,10 +90,10 @@ FINSH_FUNCTION_EXPORT_ALIAS(rt_hw_exit, __cmd_quit, exit rt-thread);
8790
/**
8891
* This function will initial win32
8992
*/
90-
void rt_hw_board_init()
93+
int rt_hw_board_init(void)
9194
{
9295
/* init system memory */
93-
heap = rt_hw_sram_init();
96+
rt_hw_sram_init();
9497

9598
uart_console_init();
9699

@@ -101,5 +104,10 @@ void rt_hw_board_init()
101104
#if defined(RT_USING_CONSOLE)
102105
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
103106
#endif
107+
/* init board */
108+
#ifdef RT_USING_COMPONENTS_INIT
109+
rt_components_board_init();
110+
#endif
111+
return 0;
104112
}
105113
/*@}*/

bsp/simulator/drivers/board.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010
#ifndef __BOARD_H__
1111
#define __BOARD_H__
12-
void rt_hw_board_init(void);
12+
int rt_hw_board_init(void);
1313
rt_uint8_t *rt_hw_sram_init(void);
1414

1515
/* SD Card init function */

bsp/simulator/rtconfig.h

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@
4343

4444
/* RT-Thread Components */
4545

46+
#define RT_USING_COMPONENTS_INIT
47+
#define RT_USING_USER_MAIN
48+
#define RT_MAIN_THREAD_STACK_SIZE 2048
49+
#define RT_MAIN_THREAD_PRIORITY 10
4650

4751
/* C++ features */
4852

@@ -157,14 +161,18 @@
157161
/* peripheral libraries and drivers */
158162

159163

164+
/* AI packages */
165+
166+
160167
/* miscellaneous packages */
161168

162169

163170
/* samples: kernel and components samples */
164171

165172

166-
/* games: games run on RT-Thread console */
173+
/* entertainment: terminal games and other interesting software packages */
167174

175+
#define SOC_SIMULATOR
168176
#define RT_USING_DFS_WINSHAREDIR
169177
#include "rtconfig_project.h"
170178

0 commit comments

Comments
 (0)