Browse Source

Using Components Init to initialize all of components.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2060 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong@gmail.com 13 years ago
parent
commit
4d0338fd26

+ 12 - 47
bsp/lpc176x/applications/application.c

@@ -16,59 +16,24 @@
  */
 
 #include <rtthread.h>
-
-#ifdef RT_USING_DFS
-/* dfs init */
-#include <dfs_init.h>
-/* dfs filesystem:ELM FatFs filesystem init */
-#include <dfs_elm.h>
-/* dfs Filesystem APIs */
-#include <dfs_fs.h>
-#endif
-
-#ifdef RT_USING_LWIP
-#include <lwip/sys.h>
-#include <lwip/api.h>
-#include <netif/ethernetif.h>
-#endif
+#include <components_init.h>
 
 /* thread phase init */
 void rt_init_thread_entry(void *parameter)
 {
-    /* Filesystem Initialization */
-#ifdef RT_USING_DFS
-    {
-        /* init the device filesystem */
-        dfs_init();
+    /* register Ethernet interface device */
+    lpc17xx_emac_hw_init();
 
-        /* init the elm FAT filesystam*/
-        elm_init();
+    /* initialization RT-Thread Components */
+    rt_components_init();
 
-        /* mount sd card fat partition 1 as root directory */
-        if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
-            rt_kprintf("File System initialized!\n");
-        else
-            rt_kprintf("File System init failed!\n");
-    }
-#endif
-
-    /* LwIP Initialization */
-#ifdef RT_USING_LWIP
-    {
-        extern void lwip_sys_init(void);
-        extern void lpc17xx_emac_hw_init(void);
-
-        eth_system_device_init();
-
-        /* register Ethernet interface device */
-        lpc17xx_emac_hw_init();
-        /* init all device */
-        rt_device_init_all();
-
-        /* init lwip system */
-        lwip_sys_init();
-        rt_kprintf("TCP/IP initialized!\n");
-    }
+    /* Filesystem Initialization */
+#ifdef RT_USING_DFS
+    /* mount sd card fat partition 1 as root directory */
+    if (dfs_mount("sd0", "/", "elm", 0, 0) == 0)
+    	rt_kprintf("File System initialized!\n");
+    else
+    	rt_kprintf("File System init failed!\n");
 #endif
 }
 

+ 7 - 26
bsp/lpc176x/applications/startup.c

@@ -30,10 +30,6 @@
 /*@{*/
 
 extern int  rt_application_init(void);
-#ifdef RT_USING_FINSH
-extern void finsh_system_init(void);
-extern void finsh_set_device(const char* device);
-#endif
 
 #ifdef __CC_ARM
 extern int Image$$RW_IRAM1$$ZI$$Limit;
@@ -68,56 +64,41 @@ void assert_failed(u8* file, u32 line)
  */
 void rtthread_startup(void)
 {
-	/* init board */
+	/* initialize board */
 	rt_hw_board_init();
 
 	/* show version */
 	rt_show_version();
 
-	/* init tick */
-	rt_system_tick_init();
-
-	/* init kernel object */
-	rt_system_object_init();
-
-	/* init timer system */
-	rt_system_timer_init();
-
 #ifdef RT_USING_HEAP
+	/* initialize memory system */
 	#ifdef __CC_ARM
 		rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)0x10008000);
 	#elif __ICCARM__
 	    rt_system_heap_init(__segment_end("HEAP"), (void*)0x10008000);
 	#else
-		/* init memory system */
 		rt_system_heap_init((void*)&__bss_end, (void*)0x10008000);
 	#endif
 #endif
 
-	/* init scheduler system */
+	/* initialize scheduler system */
 	rt_system_scheduler_init();
 
 #ifdef RT_USING_DEVICE
 #ifdef RT_USING_DFS
 	rt_hw_sdcard_init();
 #endif
-	/* init all device */
+	/* initialize all device */
 	rt_device_init_all();
 #endif
 
-	/* init application */
+	/* initialize application */
 	rt_application_init();
 
-#ifdef RT_USING_FINSH
-	/* init finsh */
-	finsh_system_init();
-	finsh_set_device("uart0");
-#endif
-
-    /* init timer thread */
+    /* initialize timer thread */
     rt_system_timer_thread_init();
 
-	/* init idle thread */
+	/* initialize idle thread */
 	rt_thread_idle_init();
 
 	/* start scheduler */

+ 2 - 2
bsp/lpc176x/drivers/board.c

@@ -62,14 +62,14 @@ void rt_hw_board_init()
 	SCB->VTOR  = (0x00000000 & NVIC_VTOR_MASK);
 #endif
 
-	/* init systick */
+	/* initialize systick */
 	SysTick_Config( SystemCoreClock/RT_TICK_PER_SECOND);
 	/* set pend exception priority */
 	NVIC_SetPriority(PendSV_IRQn, (1<<__NVIC_PRIO_BITS) - 1);
 
 #ifdef RT_USING_UART0
 	rt_hw_uart_init();
-	rt_console_set_device("uart0");
+	rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
 #endif
 }
 

+ 10 - 6
bsp/lpc176x/rtconfig.h

@@ -71,8 +71,12 @@
 #define RT_USING_CONSOLE
 // <integer name="RT_CONSOLEBUF_SIZE" description="The buffer size for console output" default="128" />
 #define RT_CONSOLEBUF_SIZE	128
+// <string name="RT_CONSOLE_DEVICE_NAME" description="The device name for console" default="uart" />
+#define RT_CONSOLE_DEVICE_NAME	"uart0"
 // </section>
 
+// <bool name="RT_USING_COMPONENTS_INIT" description="Using RT-Thread components initialization" default="true" />
+#define RT_USING_COMPONENTS_INIT
 // <section name="RT_USING_FINSH" description="Using finsh as shell, which is a C-Express shell" default="true" >
 #define RT_USING_FINSH
 // <bool name="FINSH_USING_SYMTAB" description="Using symbol table in finsh shell" default="true" />
@@ -120,7 +124,7 @@
 // </section>
 
 // <section name="RT_USING_LWIP" description="lwip, a lightweight TCP/IP protocol stack" default="true" >
-// #define RT_USING_LWIP
+#define RT_USING_LWIP
 // <bool name="RT_LWIP_USING_RT_MEM" description="Using RT-Thread memory management for LwIP" default="true" />
 #define RT_LWIP_USING_RT_MEM
 // <bool name="RT_LWIP_ICMP" description="Enable ICMP protocol" default="true" />
@@ -136,25 +140,25 @@
 // <integer name="RT_LWIP_TCP_PCB_NUM" description="Maximal number of simultaneously active TCP connections" default="5" />
 #define RT_LWIP_TCP_PCB_NUM	5
 // <integer name="RT_LWIP_TCP_SND_BUF" description="TCP sender buffer size" default="8192" />
-#define RT_LWIP_TCP_SND_BUF	8192
+#define RT_LWIP_TCP_SND_BUF	2048
 // <integer name="RT_LWIP_TCP_WND" description="TCP receive window" default="8192" />
-#define RT_LWIP_TCP_WND	8192
+#define RT_LWIP_TCP_WND	2048
 // <bool name="RT_LWIP_SNMP" description="Enable SNMP protocol" default="false" />
 // #define RT_LWIP_SNMP
 // <bool name="RT_LWIP_DHCP" description="Enable DHCP client to get IP address" default="false" />
 // #define RT_LWIP_DHCP
 // <integer name="RT_LWIP_TCP_SEG_NUM" description="the number of simultaneously queued TCP" default="8" />
-#define RT_LWIP_TCP_SEG_NUM	40
+#define RT_LWIP_TCP_SEG_NUM	8
 // <integer name="RT_LWIP_TCPTHREAD_PRIORITY" description="the thread priority of TCP thread" default="128" />
 #define RT_LWIP_TCPTHREAD_PRIORITY	12
 // <integer name="RT_LWIP_TCPTHREAD_MBOX_SIZE" description="the mail box size of TCP thread to wait for" default="32" />
-#define RT_LWIP_TCPTHREAD_MBOX_SIZE	32
+#define RT_LWIP_TCPTHREAD_MBOX_SIZE	8
 // <integer name="RT_LWIP_TCPTHREAD_STACKSIZE" description="the thread stack size of TCP thread" default="4096" />
 #define RT_LWIP_TCPTHREAD_STACKSIZE	4096
 // <integer name="RT_LWIP_ETHTHREAD_PRIORITY" description="the thread priority of ethnetif thread" default="144" />
 #define RT_LWIP_ETHTHREAD_PRIORITY	14
 // <integer name="RT_LWIP_ETHTHREAD_MBOX_SIZE" description="the mail box size of ethnetif thread to wait for" default="8" />
-#define RT_LWIP_ETHTHREAD_MBOX_SIZE	32
+#define RT_LWIP_ETHTHREAD_MBOX_SIZE	8
 // <integer name="RT_LWIP_ETHTHREAD_STACKSIZE" description="the stack size of ethnetif thread" default="512" />
 #define RT_LWIP_ETHTHREAD_STACKSIZE	512
 // <ipaddr name="RT_LWIP_IPADDR" description="IP address of device" default="192.168.1.30" />