From f74cde045ba4ba70cdefb4408496d51203209192 Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Fri, 8 Dec 2017 11:57:22 +0800 Subject: [PATCH] [BSP] fix the finsh_system_init issue in BSP --- bsp/lpc178x/applications/application.c | 10 ++ bsp/lpc178x/applications/startup.c | 10 -- bsp/lpc2148/applications/application.c | 54 ++++++++--- bsp/lpc2148/applications/startup.c | 35 +------ bsp/lpc2478/applications/application.c | 12 ++- bsp/lpc2478/applications/startup.c | 93 ++++++++----------- bsp/lpc5410x/applications/application.c | 4 +- bsp/lpc5410x/applications/startup.c | 2 +- bsp/stm32f0x/applications/startup.c | 4 - bsp/stm32f20x/applications/application.c | 20 ++++ bsp/stm32f20x/applications/startup.c | 21 ----- bsp/stm32f40x/applications/application.c | 12 ++- bsp/stm32f40x/applications/startup.c | 10 -- bsp/stm32f429-apollo/applications/startup.c | 4 - .../applications/application.c | 9 ++ bsp/stm32f429-disco/applications/startup.c | 9 -- bsp/stm32f429_armfly/applications/startup.c | 5 - bsp/stm32l072/app/startup.c | 4 - .../applications/startup.c | 4 - bsp/stm32l476-nucleo/applications/startup.c | 4 - 20 files changed, 144 insertions(+), 182 deletions(-) diff --git a/bsp/lpc178x/applications/application.c b/bsp/lpc178x/applications/application.c index d7e2cfe9a6..29352f857b 100644 --- a/bsp/lpc178x/applications/application.c +++ b/bsp/lpc178x/applications/application.c @@ -35,6 +35,11 @@ #include #endif +#ifdef RT_USING_FINSH +#include +#include +#endif + /* thread phase init */ void rt_init_thread_entry(void *parameter) { @@ -97,6 +102,11 @@ void rt_init_thread_entry(void *parameter) } } #endif + +#ifdef RT_USING_FINSH + /* initialize finsh */ + finsh_system_init(); +#endif } // init led diff --git a/bsp/lpc178x/applications/startup.c b/bsp/lpc178x/applications/startup.c index 989b74f924..4da4991523 100644 --- a/bsp/lpc178x/applications/startup.c +++ b/bsp/lpc178x/applications/startup.c @@ -20,10 +20,6 @@ #include "board.h" extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; @@ -81,12 +77,6 @@ void rtthread_startup(void) /* initialize application */ rt_application_init(); -#ifdef RT_USING_FINSH - /* initialize finsh */ - finsh_system_init(); - finsh_set_device( FINSH_DEVICE_NAME ); -#endif - /* initialize timer */ rt_system_timer_init(); diff --git a/bsp/lpc2148/applications/application.c b/bsp/lpc2148/applications/application.c index f1c8d33065..5ceb371837 100644 --- a/bsp/lpc2148/applications/application.c +++ b/bsp/lpc2148/applications/application.c @@ -19,6 +19,11 @@ */ /*@{*/ +#ifdef RT_USING_FINSH +#include +#include +#endif + #ifdef RT_USING_DFS /* dfs init */ #include @@ -41,16 +46,31 @@ /* thread phase init */ void rt_init_thread_entry(void *parameter) { +#ifdef RT_USING_DEVICE +#ifdef RT_USING_DFS + /* init sd card */ + rt_hw_sdcard_init(); +#endif + +#ifdef RT_USING_LWIP + eth_system_device_init(); + /* init ethernetif device */ + rt_hw_dm9000_init(); +#endif + + /* init hardware serial device */ + rt_hw_serial_init(); +#endif + /* Filesystem Initialization */ #ifdef RT_USING_DFS { /* init the device filesystem */ dfs_init(); - /* init the efsl filesystam*/ - efsl_init(); + elm_init(); /* mount sd card fat partition 1 as root directory */ - if (dfs_mount("sd0", "/", "efs", 0, 0) == 0) + if (dfs_mount("sd0", "/", "elm", 0, 0) == 0) rt_kprintf("File System initialized!\n"); else rt_kprintf("File System init failed!\n"); @@ -67,6 +87,10 @@ void rt_init_thread_entry(void *parameter) rt_kprintf("TCP/IP initialized!\n"); } #endif + +#ifdef RT_USING_FINSH + finsh_system_init(); +#endif } /************** LED BLINK *******************/ @@ -78,53 +102,53 @@ void rt_init_thread_entry(void *parameter) ALIGN(4) char thread_led1_stack[512]; struct rt_thread thread_led1; -void thread_led1_entry(void* parameter) +void thread_led1_entry(void *parameter) { - unsigned int count=0; + unsigned int count = 0; IO1DIR |= LED1; - while(1) + while (1) { /* led1 on */ IO1CLR = LED1; #ifndef RT_USING_FINSH - rt_kprintf("led1 on, count : %d\r\n",count); + rt_kprintf("led1 on, count : %d\r\n", count); #endif count++; - rt_thread_delay( RT_TICK_PER_SECOND/3 ); /* delay 0.3s */ + rt_thread_delay(RT_TICK_PER_SECOND / 3); /* delay 0.3s */ /* led1 off */ IO1SET = LED1; #ifndef RT_USING_FINSH rt_kprintf("led1 off\r\n"); #endif - rt_thread_delay( RT_TICK_PER_SECOND/3 ); + rt_thread_delay(RT_TICK_PER_SECOND / 3); } } ALIGN(4) char thread_led2_stack[512]; struct rt_thread thread_led2; -void thread_led2_entry(void* parameter) +void thread_led2_entry(void *parameter) { - unsigned int count=0; + unsigned int count = 0; IO1DIR |= LED2; - while(1) + while (1) { /* led2 on */ IO1CLR = LED2; #ifndef RT_USING_FINSH - rt_kprintf("led2 on, count : %d\r\n",count); + rt_kprintf("led2 on, count : %d\r\n", count); #endif count++; - rt_thread_delay( RT_TICK_PER_SECOND/2 ); /* delay 0.5s */ + rt_thread_delay(RT_TICK_PER_SECOND / 2); /* delay 0.5s */ /* led2 off */ IO1SET = LED2; #ifndef RT_USING_FINSH rt_kprintf("led1 off\r\n"); #endif - rt_thread_delay( RT_TICK_PER_SECOND/2 ); + rt_thread_delay(RT_TICK_PER_SECOND / 2); } } /************** LED BLINK *******************/ diff --git a/bsp/lpc2148/applications/startup.c b/bsp/lpc2148/applications/startup.c index e9a7967819..4a2db19c95 100644 --- a/bsp/lpc2148/applications/startup.c +++ b/bsp/lpc2148/applications/startup.c @@ -33,18 +33,11 @@ /*@{*/ -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -#endif - extern int rt_application_init(void); extern void rt_show_version(void); #ifdef RT_USING_DEVICE extern rt_err_t rt_hw_serial_init(void); #endif -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; @@ -76,41 +69,19 @@ void rtthread_startup(void) #ifdef RT_USING_HEAP #ifdef __CC_ARM - rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)0x40008000); + rt_system_heap_init((void *)&Image$$RW_IRAM1$$ZI$$Limit, (void *)0x40008000); #else /* init memory system */ - rt_system_heap_init((void*)&__bss_end, (void*)0x40008000); + rt_system_heap_init((void *)&__bss_end, (void *)0x40008000); #endif #endif /* init scheduler system */ rt_system_scheduler_init(); -#ifdef RT_USING_DEVICE -#ifdef RT_USING_DFS - /* init sd card */ - rt_hw_sdcard_init(); -#endif - -#ifdef RT_USING_LWIP - eth_system_device_init(); - /* init ethernetif device */ - rt_hw_dm9000_init(); -#endif - - /* init hardware serial device */ - rt_hw_serial_init(); -#endif - /* init application */ rt_application_init(); -#ifdef RT_USING_FINSH - /* init finsh */ - finsh_system_init(); - finsh_set_device("uart1"); -#endif - /* init idle thread */ rt_thread_idle_init(); @@ -121,7 +92,7 @@ void rtthread_startup(void) return ; } -int main (void) +int main(void) { /* invoke rtthread_startup */ rtthread_startup(); diff --git a/bsp/lpc2478/applications/application.c b/bsp/lpc2478/applications/application.c index 1f92fc7b8c..ea8d1d68a1 100644 --- a/bsp/lpc2478/applications/application.c +++ b/bsp/lpc2478/applications/application.c @@ -14,13 +14,23 @@ #include +#ifdef RT_USING_FINSH +#include +#include +#endif + /** * @addtogroup LPC2478 */ /*@{*/ int rt_application_init() { - return 0; +#ifdef RT_USING_FINSH + /* init finsh */ + finsh_system_init(); +#endif + + return 0; } /*@}*/ diff --git a/bsp/lpc2478/applications/startup.c b/bsp/lpc2478/applications/startup.c index 33fc5c9933..c262e57149 100644 --- a/bsp/lpc2478/applications/startup.c +++ b/bsp/lpc2478/applications/startup.c @@ -10,19 +10,13 @@ * Change Logs: * Date Author Notes * 2008-12-11 xuxinming first version - * 2010-4-3 LiJin add init soft timer thread + * 2010-4-3 LiJin add init soft timer thread */ #include #include -#ifdef RT_USING_FINSH -#include -extern int finsh_system_init(void); -#endif - #include -#include /** * @addtogroup LPC2478 @@ -30,9 +24,6 @@ extern int finsh_system_init(void); /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_DEVICE -extern rt_err_t rt_hw_serial_init(void); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; @@ -45,67 +36,61 @@ extern int __bss_end; */ void rtthread_startup(void) { - /* init hardware interrupt */ - rt_hw_interrupt_init(); - - /* init board */ - rt_hw_board_init(); - - /* init tick */ - rt_system_tick_init(); - - /* init kernel object */ - rt_system_object_init(); - - rt_show_version(); + /* init hardware interrupt */ + rt_hw_interrupt_init(); - /* init timer system */ - rt_system_timer_init(); + /* init board */ + rt_hw_board_init(); - /* init memory system */ + /* init tick */ + rt_system_tick_init(); + + /* init kernel object */ + rt_system_object_init(); + + rt_show_version(); + + /* init timer system */ + rt_system_timer_init(); + + /* init memory system */ #ifdef RT_USING_HEAP #ifdef __CC_ARM - rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)0x40010000); + rt_system_heap_init((void *)&Image$$RW_IRAM1$$ZI$$Limit, (void *)0x40010000); #else - rt_system_heap_init((void*)&__bss_end, (void*)0x40010000); + rt_system_heap_init((void *)&__bss_end, (void *)0x40010000); #endif #endif - /* init scheduler system */ - rt_system_scheduler_init(); + /* init scheduler system */ + rt_system_scheduler_init(); - /* init application */ - rt_application_init(); - -#ifdef RT_USING_FINSH - /* init finsh */ - finsh_system_init(); - finsh_set_device("uart1"); -#endif - - /* init soft timer thread */ - rt_system_timer_thread_init(); + /* init application */ + rt_application_init(); - /* init idle thread */ - rt_thread_idle_init(); + /* init soft timer thread */ + rt_system_timer_thread_init(); - /* start scheduler */ - rt_system_scheduler_start(); - - /* never reach here */ - return ; + /* init idle thread */ + rt_thread_idle_init(); + + /* start scheduler */ + rt_system_scheduler_start(); + + /* never reach here */ + return ; } #ifdef __CC_ARM int main(void) { - /* disable interrupt first */ - rt_hw_interrupt_disable(); + /* disable interrupt first */ + rt_hw_interrupt_disable(); - /* invoke rtthread_startup */ - rtthread_startup(); - - return 0; + /* invoke rtthread_startup */ + rtthread_startup(); + + return 0; } #endif diff --git a/bsp/lpc5410x/applications/application.c b/bsp/lpc5410x/applications/application.c index 87ae876e54..627e97c860 100644 --- a/bsp/lpc5410x/applications/application.c +++ b/bsp/lpc5410x/applications/application.c @@ -18,16 +18,16 @@ #include #endif - extern int demo_init(void); void rt_init_thread_entry(void* parameter) { +#ifdef RT_USING_FINSH /* initialization finsh shell Component */ finsh_system_init(); +#endif demo_init(); - } int rt_application_init() diff --git a/bsp/lpc5410x/applications/startup.c b/bsp/lpc5410x/applications/startup.c index 90829ebc39..4008c3dcde 100644 --- a/bsp/lpc5410x/applications/startup.c +++ b/bsp/lpc5410x/applications/startup.c @@ -5,7 +5,7 @@ * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at - * http://openlab.rt-thread.com/license/LICENSE + * http://www.rt-thread.org/license/LICENSE * * Change Logs: * Date Author Notes diff --git a/bsp/stm32f0x/applications/startup.c b/bsp/stm32f0x/applications/startup.c index db65b664f1..4d9bfaa689 100644 --- a/bsp/stm32f0x/applications/startup.c +++ b/bsp/stm32f0x/applications/startup.c @@ -25,10 +25,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; diff --git a/bsp/stm32f20x/applications/application.c b/bsp/stm32f20x/applications/application.c index c49a229b08..18019e7668 100644 --- a/bsp/stm32f20x/applications/application.c +++ b/bsp/stm32f20x/applications/application.c @@ -20,6 +20,11 @@ #include #include +#ifdef RT_USING_FINSH +#include +#include +#endif + #ifdef RT_USING_DFS /* dfs init */ #include @@ -41,6 +46,14 @@ void rt_init_thread_entry(void* parameter) /* Filesystem Initialization */ #ifdef RT_USING_DFS { + + /* init sdcard driver */ +#if STM32_USE_SDIO + rt_hw_sdcard_init(); +#else + rt_hw_msd_init(); +#endif + /* init the device filesystem */ dfs_init(); @@ -75,6 +88,13 @@ void rt_init_thread_entry(void* parameter) rt_kprintf("TCP/IP initialized!\n"); } #endif + + rt_hw_rtc_init(); + +#ifdef RT_USING_FINSH + /* init finsh */ + finsh_system_init(); +#endif } int rt_application_init() diff --git a/bsp/stm32f20x/applications/startup.c b/bsp/stm32f20x/applications/startup.c index 476ff31ed2..71f4440507 100644 --- a/bsp/stm32f20x/applications/startup.c +++ b/bsp/stm32f20x/applications/startup.c @@ -25,10 +25,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; @@ -96,26 +92,9 @@ void rtthread_startup(void) /* init scheduler system */ rt_system_scheduler_init(); -#ifdef RT_USING_DFS - /* init sdcard driver */ -#if STM32_USE_SDIO - rt_hw_sdcard_init(); -#else - rt_hw_msd_init(); -#endif -#endif - - rt_hw_rtc_init(); - /* init application */ rt_application_init(); -#ifdef RT_USING_FINSH - /* init finsh */ - finsh_system_init(); - finsh_set_device("uart1"); -#endif - /* init timer thread */ rt_system_timer_thread_init(); diff --git a/bsp/stm32f40x/applications/application.c b/bsp/stm32f40x/applications/application.c index bfa3428eca..f1d1f68438 100644 --- a/bsp/stm32f40x/applications/application.c +++ b/bsp/stm32f40x/applications/application.c @@ -23,6 +23,11 @@ #include "stm32f4xx_eth.h" #endif +#ifdef RT_USING_FINSH +#include +#include +#endif + #ifdef RT_USING_GDB #include #endif @@ -50,6 +55,11 @@ void rt_init_thread_entry(void* parameter) rt_kprintf("TCP/IP initialized!\n"); } #endif + +#ifdef RT_USING_FINSH + /* init finsh */ + finsh_system_init(); +#endif } int rt_application_init() @@ -65,5 +75,3 @@ int rt_application_init() return 0; } - -/*@}*/ diff --git a/bsp/stm32f40x/applications/startup.c b/bsp/stm32f40x/applications/startup.c index c591ff3bce..6894d0f8ce 100644 --- a/bsp/stm32f40x/applications/startup.c +++ b/bsp/stm32f40x/applications/startup.c @@ -26,10 +26,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; @@ -88,12 +84,6 @@ void rtthread_startup(void) /* init application */ rt_application_init(); -#ifdef RT_USING_FINSH - /* init finsh */ - finsh_system_init(); - finsh_set_device( FINSH_DEVICE_NAME ); -#endif - /* init timer thread */ rt_system_timer_thread_init(); diff --git a/bsp/stm32f429-apollo/applications/startup.c b/bsp/stm32f429-apollo/applications/startup.c index c1cabf7779..9e55b3bc40 100644 --- a/bsp/stm32f429-apollo/applications/startup.c +++ b/bsp/stm32f429-apollo/applications/startup.c @@ -26,10 +26,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; diff --git a/bsp/stm32f429-disco/applications/application.c b/bsp/stm32f429-disco/applications/application.c index bfa3428eca..e6ad9e652f 100644 --- a/bsp/stm32f429-disco/applications/application.c +++ b/bsp/stm32f429-disco/applications/application.c @@ -16,6 +16,11 @@ #include #include +#ifdef RT_USING_FINSH +#include +#include +#endif + #ifdef RT_USING_LWIP #include #include @@ -50,6 +55,10 @@ void rt_init_thread_entry(void* parameter) rt_kprintf("TCP/IP initialized!\n"); } #endif + +#ifdef RT_USING_FINSH + finsh_system_init(); +#endif } int rt_application_init() diff --git a/bsp/stm32f429-disco/applications/startup.c b/bsp/stm32f429-disco/applications/startup.c index 845606b0e9..f7cf47ae6b 100644 --- a/bsp/stm32f429-disco/applications/startup.c +++ b/bsp/stm32f429-disco/applications/startup.c @@ -26,10 +26,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; @@ -92,11 +88,6 @@ void rtthread_startup(void) /* init application */ rt_application_init(); -#ifdef RT_USING_FINSH - /* init finsh */ - finsh_system_init(); -#endif - /* init timer thread */ rt_system_timer_thread_init(); diff --git a/bsp/stm32f429_armfly/applications/startup.c b/bsp/stm32f429_armfly/applications/startup.c index 2015d8130d..63fa63123c 100644 --- a/bsp/stm32f429_armfly/applications/startup.c +++ b/bsp/stm32f429_armfly/applications/startup.c @@ -26,11 +26,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif - /******************************************************************************* * Function Name : assert_failed diff --git a/bsp/stm32l072/app/startup.c b/bsp/stm32l072/app/startup.c index 87c47a1e2c..3722037db1 100644 --- a/bsp/stm32l072/app/startup.c +++ b/bsp/stm32l072/app/startup.c @@ -25,10 +25,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; diff --git a/bsp/stm32l475-iot-disco/applications/startup.c b/bsp/stm32l475-iot-disco/applications/startup.c index 39dec62b61..f1e3c185bb 100644 --- a/bsp/stm32l475-iot-disco/applications/startup.c +++ b/bsp/stm32l475-iot-disco/applications/startup.c @@ -26,10 +26,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit; diff --git a/bsp/stm32l476-nucleo/applications/startup.c b/bsp/stm32l476-nucleo/applications/startup.c index 03e5b04be8..84bf8e579c 100644 --- a/bsp/stm32l476-nucleo/applications/startup.c +++ b/bsp/stm32l476-nucleo/applications/startup.c @@ -36,10 +36,6 @@ /*@{*/ extern int rt_application_init(void); -#ifdef RT_USING_FINSH -extern int finsh_system_init(void); -extern void finsh_set_device(const char* device); -#endif #ifdef __CC_ARM extern int Image$$RW_IRAM1$$ZI$$Limit;