diff --git a/.config b/.config index ad14d51..fd91bd2 100644 --- a/.config +++ b/.config @@ -178,7 +178,8 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8 # # Socket is in the 'Network' category # -# CONFIG_RT_USING_CPLUSPLUS is not set +CONFIG_RT_USING_CPLUSPLUS=y +# CONFIG_RT_USING_CPLUSPLUS11 is not set # # Network diff --git a/project.uvoptx b/project.uvoptx index 277301c..a46275d 100644 --- a/project.uvoptx +++ b/project.uvoptx @@ -291,8 +291,8 @@ - CPU - 0 + CPlusPlus + 1 0 0 0 @@ -303,14 +303,82 @@ 0 0 0 - rt-thread\libcpu\arm\common\backtrace.c - backtrace.c + rt-thread\components\libc\cplusplus\cxx_crt_init.c + cxx_crt_init.c 0 0 2 10 + 8 + 0 + 0 + 0 + rt-thread\components\libc\cplusplus\cxx_Semaphore.cpp + cxx_Semaphore.cpp + 0 + 0 + + + 2 + 11 + 8 + 0 + 0 + 0 + rt-thread\components\libc\cplusplus\cxx_Thread.cpp + cxx_Thread.cpp + 0 + 0 + + + 2 + 12 + 8 + 0 + 0 + 0 + rt-thread\components\libc\cplusplus\cxx_Mutex.cpp + cxx_Mutex.cpp + 0 + 0 + + + 2 + 13 + 8 + 0 + 0 + 0 + rt-thread\components\libc\cplusplus\cxx_crt.cpp + cxx_crt.cpp + 0 + 0 + + + + + CPU + 0 + 0 + 0 + 0 + + 3 + 14 + 1 + 0 + 0 + 0 + rt-thread\libcpu\arm\common\backtrace.c + backtrace.c + 0 + 0 + + + 3 + 15 1 0 0 @@ -321,8 +389,8 @@ 0 - 2 - 11 + 3 + 16 1 0 0 @@ -333,8 +401,8 @@ 0 - 2 - 12 + 3 + 17 2 0 0 @@ -345,8 +413,8 @@ 0 - 2 - 13 + 3 + 18 1 0 0 @@ -360,13 +428,13 @@ DeviceDrivers - 1 + 0 0 0 0 - 3 - 14 + 4 + 19 1 0 0 @@ -377,8 +445,8 @@ 0 - 3 - 15 + 4 + 20 1 0 0 @@ -389,8 +457,8 @@ 0 - 3 - 16 + 4 + 21 1 0 0 @@ -401,8 +469,8 @@ 0 - 3 - 17 + 4 + 22 1 0 0 @@ -413,8 +481,8 @@ 0 - 3 - 18 + 4 + 23 1 0 0 @@ -425,8 +493,8 @@ 0 - 3 - 19 + 4 + 24 1 0 0 @@ -437,8 +505,8 @@ 0 - 3 - 20 + 4 + 25 1 0 0 @@ -449,8 +517,8 @@ 0 - 3 - 21 + 4 + 26 1 0 0 @@ -461,8 +529,8 @@ 0 - 3 - 22 + 4 + 27 1 0 0 @@ -473,8 +541,8 @@ 0 - 3 - 23 + 4 + 28 1 0 0 @@ -493,8 +561,8 @@ 0 0 - 4 - 24 + 5 + 29 1 0 0 @@ -505,8 +573,8 @@ 0 - 4 - 25 + 5 + 30 1 0 0 @@ -517,8 +585,8 @@ 0 - 4 - 26 + 5 + 31 2 0 0 @@ -529,8 +597,8 @@ 0 - 4 - 27 + 5 + 32 1 0 0 @@ -541,8 +609,8 @@ 0 - 4 - 28 + 5 + 33 1 0 0 @@ -553,8 +621,8 @@ 0 - 4 - 29 + 5 + 34 1 0 0 @@ -573,8 +641,8 @@ 0 0 - 5 - 30 + 6 + 35 1 0 0 @@ -585,8 +653,8 @@ 0 - 5 - 31 + 6 + 36 1 0 0 @@ -597,8 +665,8 @@ 0 - 5 - 32 + 6 + 37 1 0 0 @@ -609,8 +677,8 @@ 0 - 5 - 33 + 6 + 38 1 0 0 @@ -629,8 +697,8 @@ 0 0 - 6 - 34 + 7 + 39 1 0 0 @@ -641,8 +709,8 @@ 0 - 6 - 35 + 7 + 40 1 0 0 @@ -653,8 +721,8 @@ 0 - 6 - 36 + 7 + 41 1 0 0 @@ -665,8 +733,8 @@ 0 - 6 - 37 + 7 + 42 1 0 0 @@ -677,8 +745,8 @@ 0 - 6 - 38 + 7 + 43 1 0 0 @@ -689,8 +757,8 @@ 0 - 6 - 39 + 7 + 44 1 0 0 @@ -701,8 +769,8 @@ 0 - 6 - 40 + 7 + 45 1 0 0 @@ -713,8 +781,8 @@ 0 - 6 - 41 + 7 + 46 1 0 0 @@ -725,8 +793,8 @@ 0 - 6 - 42 + 7 + 47 1 0 0 @@ -737,8 +805,8 @@ 0 - 6 - 43 + 7 + 48 1 0 0 @@ -749,8 +817,8 @@ 0 - 6 - 44 + 7 + 49 1 0 0 @@ -761,8 +829,8 @@ 0 - 6 - 45 + 7 + 50 1 0 0 @@ -773,8 +841,8 @@ 0 - 6 - 46 + 7 + 51 1 0 0 @@ -793,8 +861,8 @@ 0 0 - 7 - 47 + 8 + 52 1 0 0 @@ -805,8 +873,8 @@ 0 - 7 - 48 + 8 + 53 1 0 0 @@ -817,8 +885,8 @@ 0 - 7 - 49 + 8 + 54 1 0 0 @@ -829,8 +897,8 @@ 0 - 7 - 50 + 8 + 55 1 0 0 @@ -841,8 +909,8 @@ 0 - 7 - 51 + 8 + 56 1 0 0 @@ -853,8 +921,8 @@ 0 - 7 - 52 + 8 + 57 1 0 0 @@ -865,8 +933,8 @@ 0 - 7 - 53 + 8 + 58 1 0 0 @@ -877,8 +945,8 @@ 0 - 7 - 54 + 8 + 59 1 0 0 @@ -889,8 +957,8 @@ 0 - 7 - 55 + 8 + 60 1 0 0 @@ -901,8 +969,8 @@ 0 - 7 - 56 + 8 + 61 1 0 0 @@ -913,8 +981,8 @@ 0 - 7 - 57 + 8 + 62 1 0 0 @@ -925,8 +993,8 @@ 0 - 7 - 58 + 8 + 63 1 0 0 @@ -937,8 +1005,8 @@ 0 - 7 - 59 + 8 + 64 1 0 0 @@ -949,8 +1017,8 @@ 0 - 7 - 60 + 8 + 65 1 0 0 @@ -961,8 +1029,8 @@ 0 - 7 - 61 + 8 + 66 1 0 0 @@ -973,8 +1041,8 @@ 0 - 7 - 62 + 8 + 67 1 0 0 @@ -985,8 +1053,8 @@ 0 - 7 - 63 + 8 + 68 1 0 0 @@ -997,8 +1065,8 @@ 0 - 7 - 64 + 8 + 69 1 0 0 @@ -1009,8 +1077,8 @@ 0 - 7 - 65 + 8 + 70 1 0 0 diff --git a/project.uvprojx b/project.uvprojx index f83bc58..13a2eeb 100644 --- a/project.uvprojx +++ b/project.uvprojx @@ -10,7 +10,7 @@ rt-thread 0x4 ARM-ADS - 5060750::V5.06 update 6 (build 750)::ARMCC + 5060960::V5.06 update 7 (build 960)::.\ARMCC 0 @@ -339,7 +339,7 @@ __STDC_LIMIT_MACROS, STM32F413xx, USE_HAL_DRIVER, RT_USING_LIBC, __CLK_TCK=RT_TICK_PER_SECOND, __RTTHREAD__, RT_USING_ARM_LIBC - rt-thread\components\drivers\include;rt-thread\components\libc\posix\io\poll;libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;.;board\CubeMX_Config\Inc;rt-thread\components\libc\posix\ipc;libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;rt-thread\components\libc\compilers\common\include;libraries\HAL_Drivers;rt-thread\components\drivers\include;rt-thread\components\libc\compilers\common\extension\fcntl\octal;board;rt-thread\components\libc\posix\io\stdio;rt-thread\libcpu\arm\common;rt-thread\components\drivers\include;rt-thread\include;rt-thread\components\libc\compilers\common\extension;libraries\HAL_Drivers\config;rt-thread\components\finsh;rt-thread\libcpu\arm\cortex-m4;rt-thread\components\drivers\include;libraries\HAL_Drivers\CMSIS\Include + rt-thread\components\drivers\include;rt-thread\components\libc\posix\io\poll;libraries\STM32F4xx_HAL\STM32F4xx_HAL_Driver\Inc;.;board\CubeMX_Config\Inc;rt-thread\components\libc\posix\ipc;libraries\STM32F4xx_HAL\CMSIS\Device\ST\STM32F4xx\Include;rt-thread\components\libc\compilers\common\include;libraries\HAL_Drivers;rt-thread\components\drivers\include;rt-thread\components\libc\compilers\common\extension\fcntl\octal;board;rt-thread\components\libc\posix\io\stdio;rt-thread\libcpu\arm\common;rt-thread\components\drivers\include;rt-thread\include;rt-thread\components\libc\compilers\common\extension;libraries\HAL_Drivers\config;rt-thread\components\finsh;rt-thread\libcpu\arm\cortex-m4;rt-thread\components\drivers\include;libraries\HAL_Drivers\CMSIS\Include;rt-thread\components\libc\cplusplus @@ -425,6 +425,36 @@ + + CPlusPlus + + + cxx_crt_init.c + 1 + rt-thread\components\libc\cplusplus\cxx_crt_init.c + + + cxx_Semaphore.cpp + 8 + rt-thread\components\libc\cplusplus\cxx_Semaphore.cpp + + + cxx_Thread.cpp + 8 + rt-thread\components\libc\cplusplus\cxx_Thread.cpp + + + cxx_Mutex.cpp + 8 + rt-thread\components\libc\cplusplus\cxx_Mutex.cpp + + + cxx_crt.cpp + 8 + rt-thread\components\libc\cplusplus\cxx_crt.cpp + + + CPU diff --git a/rt-thread/components/libc/cplusplus/cxx_crt_init.c b/rt-thread/components/libc/cplusplus/cxx_crt_init.c index 4694608..eac5f5f 100644 --- a/rt-thread/components/libc/cplusplus/cxx_crt_init.c +++ b/rt-thread/components/libc/cplusplus/cxx_crt_init.c @@ -34,7 +34,7 @@ RT_WEAK void *__dso_handle = 0; #endif -RT_WEAK int cplusplus_system_init(void) +int cplusplus_system_init(void) { #if defined(__ARMCC_VERSION) /* If there is no SHT$$INIT_ARRAY, calling @@ -65,4 +65,4 @@ RT_WEAK int cplusplus_system_init(void) return 0; } -INIT_COMPONENT_EXPORT(cplusplus_system_init); +//INIT_COMPONENT_EXPORT(cplusplus_system_init); diff --git a/rtconfig.h b/rtconfig.h index 77e2d30..935eab2 100644 --- a/rtconfig.h +++ b/rtconfig.h @@ -95,6 +95,7 @@ /* Socket is in the 'Network' category */ +#define RT_USING_CPLUSPLUS /* Network */