From 9e13f67018d6bd2af6c005974c69571289ad6503 Mon Sep 17 00:00:00 2001 From: latercomer Date: Sun, 16 Mar 2025 09:20:31 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4libcpu/sim/simulator=E4=B8=AD?= =?UTF-8?q?msvc=E7=BC=96=E8=AF=91=E5=99=A8=E5=A4=9A=E4=BD=99=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=EF=BC=8C=E4=B8=BA=E5=90=8E=E7=BB=AD=E6=94=AF=E6=8C=81?= =?UTF-8?q?mingw64=E5=81=9A=E5=87=86=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: latercomer --- libcpu/sim/win32/cpu_port.c | 11 ------ .../sim/win32/{startup.c => startup_msvc.c} | 39 ++++--------------- 2 files changed, 8 insertions(+), 42 deletions(-) rename libcpu/sim/win32/{startup.c => startup_msvc.c} (90%) diff --git a/libcpu/sim/win32/cpu_port.c b/libcpu/sim/win32/cpu_port.c index 4f8b32271b..6b7da50bf4 100644 --- a/libcpu/sim/win32/cpu_port.c +++ b/libcpu/sim/win32/cpu_port.c @@ -699,14 +699,3 @@ rt_uint32_t YieldInterruptHandle(void) return 0; } /*** YieldInterruptHandle ***/ - -/* system entry */ -extern int rtthread_startup(void); -int wmain(int argc, char* argv[]) -{ - /* disable interrupt first */ - rt_hw_interrupt_disable(); - /* startup RT-Thread RTOS */ - rtthread_startup(); -} -#pragma comment(linker, "/subsystem:console /entry:wmainCRTStartup") diff --git a/libcpu/sim/win32/startup.c b/libcpu/sim/win32/startup_msvc.c similarity index 90% rename from libcpu/sim/win32/startup.c rename to libcpu/sim/win32/startup_msvc.c index f0f2784a7a..6bf7a575bc 100644 --- a/libcpu/sim/win32/startup.c +++ b/libcpu/sim/win32/startup_msvc.c @@ -221,33 +221,16 @@ void rt_application_init(void); void rt_hw_board_init(void); int rtthread_startup(void); -#if defined(__ARMCC_VERSION) -extern int $Super$$main(void); -/* re-define main function */ -int $Sub$$main(void) +/* system entry */ +extern int rtthread_startup(void); +int wmain(int argc, char* argv[]) { + /* disable interrupt first */ + rt_hw_interrupt_disable(); + /* startup RT-Thread RTOS */ rtthread_startup(); - return 0; } -#elif defined(__ICCARM__) -extern int main(void); -/* __low_level_init will auto called by IAR cstartup */ -extern void __iar_data_init3(void); -int __low_level_init(void) -{ - // call IAR table copy function. - __iar_data_init3(); - rtthread_startup(); - return 0; -} -#elif defined(__GNUC__) -/* Add -eentry to arm-none-eabi-gcc argument */ -int entry(void) -{ - rtthread_startup(); - return 0; -} -#endif +#pragma comment(linker, "/subsystem:console /entry:wmainCRTStartup") #ifndef RT_USING_HEAP /* if there is not enable heap, we should use static thread and stack. */ @@ -269,15 +252,9 @@ void main_thread_entry(void *parameter) #ifdef RT_USING_SMP rt_hw_secondary_cpu_up(); #endif + /* invoke system main function */ -#if defined(__ARMCC_VERSION) - { - extern int $Super$$main(void); - $Super$$main(); /* for ARMCC. */ - } -#elif defined(__ICCARM__) || defined(__GNUC__) || defined(__TASKING__) || defined(_MSC_VER) main(); -#endif } void rt_application_init(void)