diff --git a/bsp/lpc176x/applications/application.c b/bsp/lpc176x/applications/application.c index d9ffd1cc25..e1ff5a2db7 100644 --- a/bsp/lpc176x/applications/application.c +++ b/bsp/lpc176x/applications/application.c @@ -13,19 +13,37 @@ * 2010-03-04 Magicoe for LPC1766 version * 2010-05-02 Aozima add led function * 2010-05-24 Bernard add filesystem initialization and move led function to led.c + * 2012-04-15 Bernard enable components_init. */ #include +#include "platform.h" + +#ifdef RT_USING_COMPONENTS_INIT #include +#endif +#ifdef RT_USING_LWIP +#include +#endif +#ifdef RT_USING_DFS +#include +#endif /* thread phase init */ void rt_init_thread_entry(void *parameter) { + /* initialize platform */ + platform_init(); + +#ifdef RT_USING_LWIP /* register Ethernet interface device */ lpc17xx_emac_hw_init(); +#endif +#ifdef RT_USING_COMPONENTS_INIT /* initialization RT-Thread Components */ rt_components_init(); +#endif /* Filesystem Initialization */ #ifdef RT_USING_DFS diff --git a/bsp/lpc176x/applications/platform.c b/bsp/lpc176x/applications/platform.c new file mode 100644 index 0000000000..355f112c94 --- /dev/null +++ b/bsp/lpc176x/applications/platform.c @@ -0,0 +1,30 @@ +/* + * File : platform.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2012, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2012-04-15 Bernard the first version. + */ +#include "platform.h" + +#ifdef RT_USING_MEMHEAP +static struct rt_memheap _memheap; +#endif + +void platform_init(void) +{ +#ifdef RT_USING_MEMHEAP + /* create memory heap object on 0x2007 C000 - 0x2008 4000*/ +#ifdef RT_USING_LWIP + rt_memheap_init(&_memheap, "system", (void*)0x2007C000, 16*1024); +#else + rt_memheap_init(&_memheap, "system", (void*)0x2007C000, 32*1024); +#endif +#endif +} diff --git a/bsp/lpc176x/applications/platform.h b/bsp/lpc176x/applications/platform.h new file mode 100644 index 0000000000..90713a8256 --- /dev/null +++ b/bsp/lpc176x/applications/platform.h @@ -0,0 +1,22 @@ +/* + * File : platform.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2012, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2012-04-15 Bernard the first version. + */ + +#ifndef __PLATFORM_H__ +#define __PLATFORM_H__ + +#include + +void platform_init(void); + +#endif diff --git a/bsp/lpc176x/project.ewp b/bsp/lpc176x/project.ewp index 9679df62ce..b5dd6673c3 100644 --- a/bsp/lpc176x/project.ewp +++ b/bsp/lpc176x/project.ewp @@ -1,5 +1,3 @@ - - 2 @@ -12,7 +10,7 @@ General 3 - 20 + 17 1 1 + - - - ICCARM 2 - 26 + 21 1 1 + + - - - - - - - - - - - - AARM 2 - 8 + 7 1 1 + @@ -571,7 +523,7 @@ @@ -893,7 +813,7 @@ General 3 - 20 + 17 1 0 + - - - ICCARM 2 - 26 + 21 1 0 + + - - - - - - - - - - - - AARM 2 - 8 + 7 1 0 + @@ -1452,7 +1326,7 @@ @@ -1769,6 +1611,9 @@ $PROJ_DIR$\applications\application.c + + $PROJ_DIR$\applications\platform.c + $PROJ_DIR$\applications\startup.c @@ -1778,35 +1623,11 @@ $PROJ_DIR$\CMSIS\CM3\CoreSupport\core_cm3.c - - $PROJ_DIR$\CMSIS\CM3\DeviceSupport\NXP\LPC17xx\startup\iar\startup_LPC17xx.s - $PROJ_DIR$\CMSIS\CM3\DeviceSupport\NXP\LPC17xx\system_LPC17xx.c - - - ComponentsInit - $PROJ_DIR$\..\..\components\init\components_init.c - - - - CORTEX-M3 - - $PROJ_DIR$\..\..\libcpu\arm\common\backtrace.c - - - $PROJ_DIR$\..\..\libcpu\arm\cortex-m3\context_iar.S - - - $PROJ_DIR$\..\..\libcpu\arm\cortex-m3\cpuport.c - - - $PROJ_DIR$\..\..\libcpu\arm\common\div0.c - - - $PROJ_DIR$\..\..\libcpu\arm\common\showmem.c + $PROJ_DIR$\CMSIS\CM3\DeviceSupport\NXP\LPC17xx\startup\iar\startup_LPC17xx.s @@ -1827,48 +1648,6 @@ $PROJ_DIR$\drivers\uart.c - - finsh - - $PROJ_DIR$\..\..\components\finsh\cmd.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_compiler.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_error.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_heap.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_init.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_node.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_ops.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_parser.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_token.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_var.c - - - $PROJ_DIR$\..\..\components\finsh\finsh_vm.c - - - $PROJ_DIR$\..\..\components\finsh\shell.c - - - $PROJ_DIR$\..\..\components\finsh\symbol.c - - Kernel @@ -1911,6 +1690,72 @@ $PROJ_DIR$\..\..\src\timer.c + + CORTEX-M3 + + $PROJ_DIR$\..\..\libcpu\arm\cortex-m3\cpuport.c + + + $PROJ_DIR$\..\..\libcpu\arm\cortex-m3\context_iar.S + + + $PROJ_DIR$\..\..\libcpu\arm\common\backtrace.c + + + $PROJ_DIR$\..\..\libcpu\arm\common\div0.c + + + $PROJ_DIR$\..\..\libcpu\arm\common\showmem.c + + + + finsh + + $PROJ_DIR$\..\..\components\finsh\cmd.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_compiler.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_error.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_heap.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_init.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_node.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_ops.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_parser.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_token.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_var.c + + + $PROJ_DIR$\..\..\components\finsh\finsh_vm.c + + + $PROJ_DIR$\..\..\components\finsh\shell.c + + + $PROJ_DIR$\..\..\components\finsh\symbol.c + + + + Components + + $PROJ_DIR$\..\..\components\init\components_init.c + + LwIP @@ -1920,7 +1765,25 @@ $PROJ_DIR$\..\..\components\net\lwip\src\api\api_msg.c - $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\autoip.c + $PROJ_DIR$\..\..\components\net\lwip\src\api\err.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\api\netbuf.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\api\netdb.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\api\netifapi.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\api\sockets.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\api\tcpip.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\arch\sys_arch.c $PROJ_DIR$\..\..\components\net\lwip\src\core\def.c @@ -1932,13 +1795,43 @@ $PROJ_DIR$\..\..\components\net\lwip\src\core\dns.c - $PROJ_DIR$\..\..\components\net\lwip\src\api\err.c + $PROJ_DIR$\..\..\components\net\lwip\src\core\init.c - $PROJ_DIR$\..\..\components\net\lwip\src\netif\etharp.c + $PROJ_DIR$\..\..\components\net\lwip\src\core\memp.c - $PROJ_DIR$\..\..\components\net\lwip\src\netif\ethernetif.c + $PROJ_DIR$\..\..\components\net\lwip\src\core\netif.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\pbuf.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\raw.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\stats.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\sys.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp_in.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp_out.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\timers.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\udp.c + + + $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\autoip.c $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\icmp.c @@ -1952,9 +1845,6 @@ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\inet_chksum.c - - $PROJ_DIR$\..\..\components\net\lwip\src\core\init.c - $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\ip.c @@ -1965,60 +1855,13 @@ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\ip_frag.c - $PROJ_DIR$\..\..\components\net\lwip\src\core\memp.c + $PROJ_DIR$\..\..\components\net\lwip\src\netif\etharp.c - $PROJ_DIR$\..\..\components\net\lwip\src\api\netbuf.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\api\netdb.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\netif.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\api\netifapi.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\pbuf.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\raw.c + $PROJ_DIR$\..\..\components\net\lwip\src\netif\ethernetif.c $PROJ_DIR$\..\..\components\net\lwip\src\netif\slipif.c - - $PROJ_DIR$\..\..\components\net\lwip\src\api\sockets.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\stats.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\sys.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\arch\sys_arch.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp_in.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp_out.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\api\tcpip.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\timers.c - - - $PROJ_DIR$\..\..\components\net\lwip\src\core\udp.c - - - diff --git a/bsp/lpc176x/project.uvopt b/bsp/lpc176x/project.uvopt index 026ce8f57e..915dc5b8ff 100644 --- a/bsp/lpc176x/project.uvopt +++ b/bsp/lpc176x/project.uvopt @@ -27,7 +27,7 @@ 12000000 - 0 + 1 1 1 0 @@ -71,7 +71,7 @@ 0 - 0 + 1 0 1 @@ -118,6 +118,13 @@ Segger\JL2CM3.dll + + + 0 + JL2CM3 + -U20100214 -O78 -S0 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO27 -FD10000000 -FC800 -FN1 -FF0LPC_IAP_512 -FS00 -FL080000 + + 0 0 @@ -174,6 +181,20 @@ 1 0 0 + 6 + 0 + 0 + 0 + 0 + applications\platform.c + platform.c + + + 1 + 3 + 1 + 0 + 0 0 0 0 @@ -191,7 +212,7 @@ 0 2 - 3 + 4 1 0 0 @@ -205,7 +226,7 @@ 2 - 4 + 5 1 0 0 @@ -219,7 +240,7 @@ 2 - 5 + 6 2 0 0 @@ -240,7 +261,7 @@ 0 3 - 6 + 7 1 0 0 @@ -254,7 +275,7 @@ 3 - 7 + 8 1 0 0 @@ -268,7 +289,7 @@ 3 - 8 + 9 1 0 0 @@ -282,7 +303,7 @@ 3 - 9 + 10 1 0 0 @@ -296,7 +317,7 @@ 3 - 10 + 11 1 0 0 @@ -317,7 +338,7 @@ 0 4 - 11 + 12 1 0 0 @@ -331,7 +352,7 @@ 4 - 12 + 13 1 0 0 @@ -345,7 +366,7 @@ 4 - 13 + 14 1 0 0 @@ -359,7 +380,7 @@ 4 - 14 + 15 1 0 0 @@ -373,7 +394,7 @@ 4 - 15 + 16 1 0 0 @@ -387,7 +408,7 @@ 4 - 16 + 17 1 0 0 @@ -401,7 +422,7 @@ 4 - 17 + 18 1 0 0 @@ -415,7 +436,7 @@ 4 - 18 + 19 1 0 0 @@ -429,7 +450,7 @@ 4 - 19 + 20 1 0 0 @@ -443,7 +464,7 @@ 4 - 20 + 21 1 0 0 @@ -457,7 +478,7 @@ 4 - 21 + 22 1 0 0 @@ -471,7 +492,7 @@ 4 - 22 + 23 1 0 0 @@ -485,7 +506,7 @@ 4 - 23 + 24 1 0 0 @@ -506,7 +527,7 @@ 0 5 - 24 + 25 1 0 0 @@ -520,7 +541,7 @@ 5 - 25 + 26 2 0 0 @@ -534,7 +555,7 @@ 5 - 26 + 27 1 0 0 @@ -548,7 +569,7 @@ 5 - 27 + 28 1 0 0 @@ -562,7 +583,7 @@ 5 - 28 + 29 1 0 0 @@ -583,7 +604,7 @@ 0 6 - 29 + 30 1 0 0 @@ -597,7 +618,7 @@ 6 - 30 + 31 1 0 0 @@ -611,7 +632,7 @@ 6 - 31 + 32 1 0 0 @@ -625,7 +646,7 @@ 6 - 32 + 33 1 0 0 @@ -639,7 +660,7 @@ 6 - 33 + 34 1 0 0 @@ -653,7 +674,7 @@ 6 - 34 + 35 1 0 0 @@ -667,7 +688,7 @@ 6 - 35 + 36 1 0 0 @@ -681,7 +702,7 @@ 6 - 36 + 37 1 0 0 @@ -695,7 +716,7 @@ 6 - 37 + 38 1 0 0 @@ -709,7 +730,7 @@ 6 - 38 + 39 1 0 0 @@ -723,7 +744,7 @@ 6 - 39 + 40 1 0 0 @@ -737,7 +758,7 @@ 6 - 40 + 41 1 0 0 @@ -751,7 +772,7 @@ 6 - 41 + 42 1 0 0 @@ -766,13 +787,13 @@ - ComponentsInit + Components 0 0 0 7 - 42 + 43 1 0 0 @@ -793,7 +814,7 @@ 0 8 - 43 + 44 1 0 0 @@ -807,7 +828,7 @@ 8 - 44 + 45 1 0 0 @@ -821,7 +842,7 @@ 8 - 45 + 46 1 0 0 @@ -835,7 +856,7 @@ 8 - 46 + 47 1 0 0 @@ -849,7 +870,7 @@ 8 - 47 + 48 1 0 0 @@ -863,7 +884,7 @@ 8 - 48 + 49 1 0 0 @@ -877,7 +898,7 @@ 8 - 49 + 50 1 0 0 @@ -891,7 +912,7 @@ 8 - 50 + 51 1 0 0 @@ -905,7 +926,7 @@ 8 - 51 + 52 1 0 0 @@ -919,7 +940,7 @@ 8 - 52 + 53 1 0 0 @@ -933,7 +954,7 @@ 8 - 53 + 54 1 0 0 @@ -947,7 +968,7 @@ 8 - 54 + 55 1 0 0 @@ -961,7 +982,7 @@ 8 - 55 + 56 1 0 0 @@ -975,7 +996,7 @@ 8 - 56 + 57 1 0 0 @@ -989,7 +1010,7 @@ 8 - 57 + 58 1 0 0 @@ -1003,7 +1024,7 @@ 8 - 58 + 59 1 0 0 @@ -1017,7 +1038,7 @@ 8 - 59 + 60 1 0 0 @@ -1031,7 +1052,7 @@ 8 - 60 + 61 1 0 0 @@ -1045,7 +1066,7 @@ 8 - 61 + 62 1 0 0 @@ -1059,7 +1080,7 @@ 8 - 62 + 63 1 0 0 @@ -1073,7 +1094,7 @@ 8 - 63 + 64 1 0 0 @@ -1087,7 +1108,7 @@ 8 - 64 + 65 1 0 0 @@ -1101,7 +1122,7 @@ 8 - 65 + 66 1 0 0 @@ -1115,7 +1136,7 @@ 8 - 66 + 67 1 0 0 @@ -1129,7 +1150,7 @@ 8 - 67 + 68 1 0 0 @@ -1143,7 +1164,7 @@ 8 - 68 + 69 1 0 0 @@ -1157,21 +1178,21 @@ 8 - 69 + 70 1 0 0 0 0 - 0 - 0 + 711 + 719 0 ..\..\components\net\lwip\src\core\ipv4\igmp.c igmp.c 8 - 70 + 71 1 0 0 @@ -1185,7 +1206,7 @@ 8 - 71 + 72 1 0 0 @@ -1199,7 +1220,7 @@ 8 - 72 + 73 1 0 0 @@ -1213,7 +1234,7 @@ 8 - 73 + 74 1 0 0 @@ -1227,7 +1248,7 @@ 8 - 74 + 75 1 0 0 @@ -1241,7 +1262,7 @@ 8 - 75 + 76 1 0 0 @@ -1255,7 +1276,7 @@ 8 - 76 + 77 1 0 0 @@ -1269,7 +1290,7 @@ 8 - 77 + 78 1 0 0 diff --git a/bsp/lpc176x/project.uvproj b/bsp/lpc176x/project.uvproj index 422cedef75..052fac4923 100644 --- a/bsp/lpc176x/project.uvproj +++ b/bsp/lpc176x/project.uvproj @@ -376,7 +376,7 @@ - --keep __fsym_* --keep __vsym_* + --keep __fsym_* --keep __vsym_* @@ -391,6 +391,11 @@ 1 applications\application.c + + platform.c + 1 + applications\platform.c + startup.c 1 @@ -619,7 +624,7 @@ - ComponentsInit + Components components_init.c diff --git a/bsp/lpc176x/rtconfig.h b/bsp/lpc176x/rtconfig.h index e13570f144..845a0c6ca0 100644 --- a/bsp/lpc176x/rtconfig.h +++ b/bsp/lpc176x/rtconfig.h @@ -51,6 +51,8 @@ //
// #define RT_USING_MEMPOOL +// +#define RT_USING_MEMHEAP // #define RT_USING_HEAP // @@ -110,7 +112,7 @@ // #define RT_DFS_ELM_USE_LFN 1 // -#define RT_DFS_ELM_MAX_LFN 256 +#define RT_DFS_ELM_MAX_LFN 64 // // #define RT_USING_DFS_YAFFS2 // @@ -125,8 +127,6 @@ //
#define RT_USING_LWIP -// -#define RT_LWIP_USING_RT_MEM // #define RT_LWIP_ICMP // @@ -137,8 +137,10 @@ #define RT_LWIP_TCP // #define RT_LWIP_DNS +// +#define RT_LWIP_PBUF_NUM 4 // -#define RT_LWIP_TCP_PCB_NUM 5 +#define RT_LWIP_TCP_PCB_NUM 3 // #define RT_LWIP_TCP_SND_BUF 2048 // @@ -147,8 +149,8 @@ // #define RT_LWIP_SNMP // // #define RT_LWIP_DHCP -// -#define RT_LWIP_TCP_SEG_NUM 8 +// +#define RT_LWIP_TCP_SEG_NUM 4 // #define RT_LWIP_TCPTHREAD_PRIORITY 12 //