Browse Source

Merge remote-tracking branch 'upstream/master'

Bernard Xiong 10 years ago
parent
commit
ec87b91011

+ 1 - 0
bsp/asm9260t/platform/rt_low_level_keil.inc

@@ -29,4 +29,5 @@ ABT_STK_SIZE EQU 512
 IRQ_STK_SIZE EQU 1024
 FIQ_STK_SIZE EQU 1024
 SYS_STK_SIZE EQU 512
+Heap_Size    EQU 512
     END

+ 1 - 1
bsp/asm9260t/rtconfig.h

@@ -65,7 +65,7 @@
 /* SECTION: the runtime libc library */
 /* the runtime libc library */
 #define RT_USING_LIBC
-#define RT_USING_PTHREADS
+//#define RT_USING_PTHREADS
 
 /* Using Module System */
 //#define RT_USING_MODULE

+ 10 - 33
bsp/mini2440/SConscript

@@ -1,37 +1,14 @@
-import rtconfig
+# for module compiling
+import os
 Import('RTT_ROOT')
-from building import *
 
-src_bsp = ['application.c', 'startup.c', 'board.c']
-src_drv = ['console.c', 'led.c']
+cwd = str(Dir('#'))
+objs = []
+list = os.listdir(cwd)
 
-if GetDepend('RT_USING_DFS'):
-	src_drv += ['sdcard.c']
+for d in list:
+    path = os.path.join(cwd, d)
+    if os.path.isfile(os.path.join(path, 'SConscript')):
+        objs = objs + SConscript(os.path.join(d, 'SConscript'))
 
-if GetDepend('RT_USING_LWIP'):
-	src_drv += ['dm9000.c']
-
-if GetDepend('RT_USING_RTGUI'):
-    src_drv += ['touch.c', 'key.c', 'calibration.c']
-
-if GetDepend('RT_USING_FTK'):
-    src_drv += ['touch.c', 'key.c']
-
-if GetDepend('RT_USING_RTI'):
-    src_drv += ['rti_stub.c']
-		
-if GetDepend('RT_USING_RTGUI') or GetDepend('RT_USING_FTK'):
-	if rtconfig.RT_USING_LCD_TYPE == 'PNL_A70':
-		src_drv += ['lcd_a70.c']
-	elif rtconfig.RT_USING_LCD_TYPE == 'PNL_N35':
-		src_drv += ['lcd_n35.c']
-	elif rtconfig.RT_USING_LCD_TYPE == 'PNL_T35':
-		src_drv += ['lcd_t35.c']
-	elif rtconfig.RT_USING_LCD_TYPE == 'PNL_X35':
-                src_drv += ['lcd_x35.c']
-
-src	= File(src_bsp + src_drv)
-CPPPATH = [GetCurrentDir()]
-group = DefineGroup('Startup', src, depend = [''], CPPPATH = CPPPATH)
-
-Return('group')
+Return('objs')

+ 11 - 0
bsp/mini2440/applications/SConscript

@@ -0,0 +1,11 @@
+Import('RTT_ROOT')
+Import('rtconfig')
+from building import *
+
+cwd     = os.path.join(str(Dir('#')), 'applications')
+src	= Glob('*.c')
+CPPPATH = [cwd, str(Dir('#'))]
+
+group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
+
+Return('group')

+ 0 - 0
bsp/mini2440/application.c → bsp/mini2440/applications/application.c


+ 0 - 0
bsp/mini2440/startup.c → bsp/mini2440/applications/startup.c


+ 44 - 0
bsp/mini2440/drivers/SConscript

@@ -0,0 +1,44 @@
+Import('RTT_ROOT')
+Import('rtconfig')
+from building import *
+
+cwd     = os.path.join(str(Dir('#')), 'drivers')
+
+# add the general drivers.
+src = Split("""
+board.c
+led.c
+console.c
+""")
+
+if GetDepend('RT_USING_DFS'):
+	src += ['sdcard.c']
+
+if GetDepend('RT_USING_LWIP'):
+	src += ['dm9000.c']
+
+if GetDepend('RT_USING_RTGUI'):
+    	src += ['touch.c', 'key.c', 'calibration.c']
+
+if GetDepend('RT_USING_FTK'):
+    	src += ['touch.c', 'key.c']
+
+if GetDepend('RT_USING_RTI'):
+    	src += ['rti_stub.c']
+		
+if GetDepend('RT_USING_RTGUI') or GetDepend('RT_USING_FTK'):
+	if rtconfig.RT_USING_LCD_TYPE == 'PNL_A70':
+		src += ['lcd_a70.c']
+	elif rtconfig.RT_USING_LCD_TYPE == 'PNL_N35':
+		src += ['lcd_n35.c']
+	elif rtconfig.RT_USING_LCD_TYPE == 'PNL_T35':
+		src += ['lcd_t35.c']
+	elif rtconfig.RT_USING_LCD_TYPE == 'PNL_X35':
+                src += ['lcd_x35.c']
+
+CPPPATH = [cwd]
+
+group = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
+
+Return('group')
+

+ 0 - 0
bsp/mini2440/board.c → bsp/mini2440/drivers/board.c


+ 0 - 0
bsp/mini2440/board.h → bsp/mini2440/drivers/board.h


+ 0 - 0
bsp/mini2440/console.c → bsp/mini2440/drivers/console.c


+ 0 - 0
bsp/mini2440/dm9000.c → bsp/mini2440/drivers/dm9000.c


+ 0 - 0
bsp/mini2440/dm9000.h → bsp/mini2440/drivers/dm9000.h


+ 1 - 1
bsp/mini2440/key.c → bsp/mini2440/drivers/key.c

@@ -129,7 +129,7 @@ static void key_init(void)
 	/* install key isr */
 	INTSUBMSK &= ~(BIT_SUB_RXD1);
 
-	rt_hw_interrupt_install(INTUART1, rt_key_handler, RT_NULL);
+	rt_hw_interrupt_install(INTUART1, rt_key_handler, RT_NULL , "INTUART1");
 	rt_hw_interrupt_umask(INTUART1);
 }
 

+ 0 - 0
bsp/mini2440/lcd.h → bsp/mini2440/drivers/lcd.h


+ 0 - 0
bsp/mini2440/lcd_a70.c → bsp/mini2440/drivers/lcd_a70.c


+ 0 - 0
bsp/mini2440/lcd_n35.c → bsp/mini2440/drivers/lcd_n35.c


+ 0 - 0
bsp/mini2440/lcd_t35.c → bsp/mini2440/drivers/lcd_t35.c


+ 0 - 0
bsp/mini2440/lcd_x35.c → bsp/mini2440/drivers/lcd_x35.c


+ 0 - 0
bsp/mini2440/led.c → bsp/mini2440/drivers/led.c


+ 0 - 0
bsp/mini2440/led.h → bsp/mini2440/drivers/led.h


+ 0 - 0
bsp/mini2440/sdcard.c → bsp/mini2440/drivers/sdcard.c


+ 0 - 0
bsp/mini2440/sdcard.h → bsp/mini2440/drivers/sdcard.h


+ 1 - 1
bsp/mini2440/touch.c → bsp/mini2440/drivers/touch.c

@@ -384,7 +384,7 @@ static rt_err_t rtgui_touch_init(rt_device_t dev)
 
 	ADCTSC = WAIT4INT(0);
 
-	rt_hw_interrupt_install(INTADC, rt_touch_handler, RT_NULL);
+	rt_hw_interrupt_install(INTADC, rt_touch_handler, RT_NULL , "INTADC");
 	rt_hw_interrupt_umask(INTADC);
 
 	/* clear interrupt */

+ 0 - 0
bsp/mini2440/touch.h → bsp/mini2440/drivers/touch.h


+ 266 - 326
bsp/mini2440/project.Uv2

@@ -6,335 +6,275 @@ Target (RT-Thread Mini2440), 0x0004 // Tools: 'ARM-ADS'
 Group (Startup)
 Group (Kernel)
 Group (S3C24X0)
-Group (pthreads)
-Group (libc)
-Group (libz)
+Group (Filesystem)
 Group (jpeg)
-Group (libpng)
-Group (libdl)
 Group (finsh)
+Group (libc)
+Group (libdl)
 Group (LwIP)
-Group (Filesystem)
+Group (pthreads)
 
-File 1,1,<./application.c><application.c>
-File 1,1,<./startup.c><startup.c>
-File 1,1,<./board.c><board.c>
-File 1,1,<./console.c><console.c>
-File 1,1,<./led.c><led.c>
-File 1,1,<./sdcard.c><sdcard.c>
-File 1,1,<./dm9000.c><dm9000.c>
-File 1,1,<../../src/clock.c><clock.c>
-File 1,1,<../../src/components.c><components.c>
-File 1,1,<../../src/device.c><device.c>
-File 1,1,<../../src/idle.c><idle.c>
-File 1,1,<../../src/ipc.c><ipc.c>
-File 1,1,<../../src/irq.c><irq.c>
-File 1,1,<../../src/kservice.c><kservice.c>
-File 1,1,<../../src/mem.c><mem.c>
-File 1,1,<../../src/mempool.c><mempool.c>
-File 1,1,<../../src/module.c><module.c>
-File 1,1,<../../src/object.c><object.c>
-File 1,1,<../../src/scheduler.c><scheduler.c>
-File 1,1,<../../src/thread.c><thread.c>
-File 1,1,<../../src/timer.c><timer.c>
-File 1,1,<../../libcpu/arm/s3c24x0/cpu.c><cpu.c>
-File 1,1,<../../libcpu/arm/s3c24x0/interrupt.c><interrupt.c>
-File 1,1,<../../libcpu/arm/s3c24x0/mmu.c><mmu.c>
-File 1,1,<../../libcpu/arm/s3c24x0/rtc.c><rtc.c>
-File 1,1,<../../libcpu/arm/s3c24x0/serial.c><serial.c>
-File 1,1,<../../libcpu/arm/s3c24x0/stack.c><stack.c>
-File 1,1,<../../libcpu/arm/s3c24x0/system_clock.c><system_clock.c>
-File 1,1,<../../libcpu/arm/s3c24x0/trap.c><trap.c>
-File 1,2,<../../libcpu/arm/s3c24x0/context_rvds.S><context_rvds.S>
-File 1,2,<../../libcpu/arm/s3c24x0/start_rvds.S><start_rvds.S>
-File 1,1,<../../libcpu/arm/common/backtrace.c><backtrace.c>
-File 1,1,<../../libcpu/arm/common/div0.c><div0.c>
-File 1,1,<../../libcpu/arm/common/showmem.c><showmem.c>
-File 1,1,<../../components/pthreads/clock_time.c><clock_time.c>
-File 1,1,<../../components/pthreads/mqueue.c><mqueue.c>
-File 1,1,<../../components/pthreads/pthread.c><pthread.c>
-File 1,1,<../../components/pthreads/pthread_attr.c><pthread_attr.c>
-File 1,1,<../../components/pthreads/pthread_barrier.c><pthread_barrier.c>
-File 1,1,<../../components/pthreads/pthread_cond.c><pthread_cond.c>
-File 1,1,<../../components/pthreads/pthread_mutex.c><pthread_mutex.c>
-File 1,1,<../../components/pthreads/pthread_rwlock.c><pthread_rwlock.c>
-File 1,1,<../../components/pthreads/pthread_spin.c><pthread_spin.c>
-File 1,1,<../../components/pthreads/pthread_tls.c><pthread_tls.c>
-File 1,1,<../../components/pthreads/sched.c><sched.c>
-File 1,1,<../../components/pthreads/semaphore.c><semaphore.c>
-File 1,1,<../../components/libc/armlibc/mem_std.c><mem_std.c>
-File 1,1,<../../components/libc/armlibc/stubs.c><stubs.c>
-File 1,1,<../../components/external/libz/adler32.c><adler32.c>
-File 1,1,<../../components/external/libz/compress.c><compress.c>
-File 1,1,<../../components/external/libz/crc32.c><crc32.c>
-File 1,1,<../../components/external/libz/deflate.c><deflate.c>
-File 1,1,<../../components/external/libz/infback.c><infback.c>
-File 1,1,<../../components/external/libz/inffast.c><inffast.c>
-File 1,1,<../../components/external/libz/inflate.c><inflate.c>
-File 1,1,<../../components/external/libz/inftrees.c><inftrees.c>
-File 1,1,<../../components/external/libz/trees.c><trees.c>
-File 1,1,<../../components/external/libz/uncompr.c><uncompr.c>
-File 1,1,<../../components/external/libz/zutil.c><zutil.c>
-File 1,1,<../../components/external/jpeg/jaricom.c><jaricom.c>
-File 1,1,<../../components/external/jpeg/jcomapi.c><jcomapi.c>
-File 1,1,<../../components/external/jpeg/jutils.c><jutils.c>
-File 1,1,<../../components/external/jpeg/jerror.c><jerror.c>
-File 1,1,<../../components/external/jpeg/jmemmgr.c><jmemmgr.c>
-File 1,1,<../../components/external/jpeg/jdapimin.c><jdapimin.c>
-File 1,1,<../../components/external/jpeg/jdapistd.c><jdapistd.c>
-File 1,1,<../../components/external/jpeg/jdarith.c><jdarith.c>
-File 1,1,<../../components/external/jpeg/jdtrans.c><jdtrans.c>
-File 1,1,<../../components/external/jpeg/jdmaster.c><jdmaster.c>
-File 1,1,<../../components/external/jpeg/jdinput.c><jdinput.c>
-File 1,1,<../../components/external/jpeg/jdmarker.c><jdmarker.c>
-File 1,1,<../../components/external/jpeg/jdhuff.c><jdhuff.c>
-File 1,1,<../../components/external/jpeg/jdmainct.c><jdmainct.c>
-File 1,1,<../../components/external/jpeg/jdcoefct.c><jdcoefct.c>
-File 1,1,<../../components/external/jpeg/jdpostct.c><jdpostct.c>
-File 1,1,<../../components/external/jpeg/jddctmgr.c><jddctmgr.c>
-File 1,1,<../../components/external/jpeg/jidctfst.c><jidctfst.c>
-File 1,1,<../../components/external/jpeg/jidctflt.c><jidctflt.c>
-File 1,1,<../../components/external/jpeg/jidctint.c><jidctint.c>
-File 1,1,<../../components/external/jpeg/jdsample.c><jdsample.c>
-File 1,1,<../../components/external/jpeg/jdcolor.c><jdcolor.c>
-File 1,1,<../../components/external/jpeg/jquant1.c><jquant1.c>
-File 1,1,<../../components/external/jpeg/jquant2.c><jquant2.c>
-File 1,1,<../../components/external/jpeg/jdmerge.c><jdmerge.c>
-File 1,1,<../../components/external/jpeg/jmemnobs.c><jmemnobs.c>
-File 1,1,<../../components/external/libpng/png.c><png.c>
-File 1,1,<../../components/external/libpng/pngerror.c><pngerror.c>
-File 1,1,<../../components/external/libpng/pnggccrd.c><pnggccrd.c>
-File 1,1,<../../components/external/libpng/pngget.c><pngget.c>
-File 1,1,<../../components/external/libpng/pngmem.c><pngmem.c>
-File 1,1,<../../components/external/libpng/pngpread.c><pngpread.c>
-File 1,1,<../../components/external/libpng/pngread.c><pngread.c>
-File 1,1,<../../components/external/libpng/pngrio.c><pngrio.c>
-File 1,1,<../../components/external/libpng/pngrtran.c><pngrtran.c>
-File 1,1,<../../components/external/libpng/pngrutil.c><pngrutil.c>
-File 1,1,<../../components/external/libpng/pngset.c><pngset.c>
-File 1,1,<../../components/external/libpng/pngtrans.c><pngtrans.c>
-File 1,1,<../../components/external/libpng/pngvcrd.c><pngvcrd.c>
-File 1,1,<../../components/external/libpng/pngwio.c><pngwio.c>
-File 1,1,<../../components/external/libpng/pngwrite.c><pngwrite.c>
-File 1,1,<../../components/external/libpng/pngwtran.c><pngwtran.c>
-File 1,1,<../../components/external/libpng/pngwutil.c><pngwutil.c>
-File 1,1,<../../components/libdl/dlclose.c><dlclose.c>
-File 1,1,<../../components/libdl/dlerror.c><dlerror.c>
-File 1,1,<../../components/libdl/dlopen.c><dlopen.c>
-File 1,1,<../../components/libdl/dlsym.c><dlsym.c>
-File 1,1,<../../components/finsh/shell.c><shell.c>
-File 1,1,<../../components/finsh/symbol.c><symbol.c>
-File 1,1,<../../components/finsh/cmd.c><cmd.c>
-File 1,1,<../../components/finsh/finsh_compiler.c><finsh_compiler.c>
-File 1,1,<../../components/finsh/finsh_error.c><finsh_error.c>
-File 1,1,<../../components/finsh/finsh_heap.c><finsh_heap.c>
-File 1,1,<../../components/finsh/finsh_init.c><finsh_init.c>
-File 1,1,<../../components/finsh/finsh_node.c><finsh_node.c>
-File 1,1,<../../components/finsh/finsh_ops.c><finsh_ops.c>
-File 1,1,<../../components/finsh/finsh_parser.c><finsh_parser.c>
-File 1,1,<../../components/finsh/finsh_var.c><finsh_var.c>
-File 1,1,<../../components/finsh/finsh_vm.c><finsh_vm.c>
-File 1,1,<../../components/finsh/finsh_token.c><finsh_token.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/api/api_lib.c><api_lib.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/api/api_msg.c><api_msg.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/api/err.c><err.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/api/netbuf.c><netbuf.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/api/netdb.c><netdb.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/api/netifapi.c><netifapi.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/api/sockets.c><sockets.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/api/tcpip.c><tcpip.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/arch/sys_arch.c><sys_arch.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/def.c><def.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/dhcp.c><dhcp.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/dns.c><dns.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/init.c><init.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/memp.c><memp.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/netif.c><netif.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/pbuf.c><pbuf.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/raw.c><raw.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/stats.c><stats.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/sys.c><sys.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/tcp.c><tcp.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/tcp_in.c><tcp_in.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/tcp_out.c><tcp_out.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/timers.c><timers.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/udp.c><udp.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/ipv4/autoip.c><autoip.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/ipv4/icmp.c><icmp.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/ipv4/igmp.c><igmp.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/ipv4/inet.c><inet.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/ipv4/inet_chksum.c><inet_chksum.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/ipv4/ip.c><ip.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/ipv4/ip_addr.c><ip_addr.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/core/ipv4/ip_frag.c><ip_frag.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/netif/etharp.c><etharp.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/netif/ethernetif.c><ethernetif.c>
-File 1,1,<../../components/net/lwip-1.4.1/src/netif/slipif.c><slipif.c>
-File 1,1,<../../components/dfs/src/dfs.c><dfs.c>
-File 1,1,<../../components/dfs/src/dfs_file.c><dfs_file.c>
-File 1,1,<../../components/dfs/src/dfs_fs.c><dfs_fs.c>
-File 1,1,<../../components/dfs/src/dfs_posix.c><dfs_posix.c>
-File 1,1,<../../components/dfs/filesystems/elmfat/dfs_elm.c><dfs_elm.c>
-File 1,1,<../../components/dfs/filesystems/elmfat/ff.c><ff.c>
-File 1,1,<../../components/dfs/filesystems/elmfat/option/cc936.c><cc936.c>
-File 1,1,<../../components/dfs/filesystems/devfs/console.c><devfs_console.c>
-File 1,1,<../../components/dfs/filesystems/devfs/devfs.c><devfs.c>
-File 2,1,<../../src/clock.c><src_clock.c>
-File 2,1,<../../src/components.c><src_components.c>
-File 2,1,<../../src/device.c><src_device.c>
-File 2,1,<../../src/idle.c><src_idle.c>
-File 2,1,<../../src/ipc.c><src_ipc.c>
-File 2,1,<../../src/irq.c><src_irq.c>
-File 2,1,<../../src/kservice.c><src_kservice.c>
-File 2,1,<../../src/mem.c><src_mem.c>
-File 2,1,<../../src/mempool.c><src_mempool.c>
-File 2,1,<../../src/module.c><src_module.c>
-File 2,1,<../../src/object.c><src_object.c>
-File 2,1,<../../src/scheduler.c><src_scheduler.c>
-File 2,1,<../../src/thread.c><src_thread.c>
-File 2,1,<../../src/timer.c><src_timer.c>
-File 3,1,<../../libcpu/arm/s3c24x0/cpu.c><s3c24x0_cpu.c>
-File 3,1,<../../libcpu/arm/s3c24x0/interrupt.c><s3c24x0_interrupt.c>
-File 3,1,<../../libcpu/arm/s3c24x0/mmu.c><s3c24x0_mmu.c>
-File 3,1,<../../libcpu/arm/s3c24x0/rtc.c><s3c24x0_rtc.c>
-File 3,1,<../../libcpu/arm/s3c24x0/serial.c><s3c24x0_serial.c>
-File 3,1,<../../libcpu/arm/s3c24x0/stack.c><s3c24x0_stack.c>
-File 3,1,<../../libcpu/arm/s3c24x0/system_clock.c><s3c24x0_system_clock.c>
-File 3,1,<../../libcpu/arm/s3c24x0/trap.c><s3c24x0_trap.c>
-File 3,2,<../../libcpu/arm/s3c24x0/context_rvds.S><s3c24x0_context_rvds.S>
-File 3,2,<../../libcpu/arm/s3c24x0/start_rvds.S><s3c24x0_start_rvds.S>
-File 3,1,<../../libcpu/arm/common/backtrace.c><common_backtrace.c>
-File 3,1,<../../libcpu/arm/common/div0.c><common_div0.c>
-File 3,1,<../../libcpu/arm/common/showmem.c><common_showmem.c>
-File 4,1,<../../components/pthreads/clock_time.c><pthreads_clock_time.c>
-File 4,1,<../../components/pthreads/mqueue.c><pthreads_mqueue.c>
-File 4,1,<../../components/pthreads/pthread.c><pthreads_pthread.c>
-File 4,1,<../../components/pthreads/pthread_attr.c><pthreads_pthread_attr.c>
-File 4,1,<../../components/pthreads/pthread_barrier.c><pthreads_pthread_barrier.c>
-File 4,1,<../../components/pthreads/pthread_cond.c><pthreads_pthread_cond.c>
-File 4,1,<../../components/pthreads/pthread_mutex.c><pthreads_pthread_mutex.c>
-File 4,1,<../../components/pthreads/pthread_rwlock.c><pthreads_pthread_rwlock.c>
-File 4,1,<../../components/pthreads/pthread_spin.c><pthreads_pthread_spin.c>
-File 4,1,<../../components/pthreads/pthread_tls.c><pthreads_pthread_tls.c>
-File 4,1,<../../components/pthreads/sched.c><pthreads_sched.c>
-File 4,1,<../../components/pthreads/semaphore.c><pthreads_semaphore.c>
-File 5,1,<../../components/libc/armlibc/mem_std.c><armlibc_mem_std.c>
-File 5,1,<../../components/libc/armlibc/stubs.c><armlibc_stubs.c>
-File 6,1,<../../components/external/libz/adler32.c><libz_adler32.c>
-File 6,1,<../../components/external/libz/compress.c><libz_compress.c>
-File 6,1,<../../components/external/libz/crc32.c><libz_crc32.c>
-File 6,1,<../../components/external/libz/deflate.c><libz_deflate.c>
-File 6,1,<../../components/external/libz/infback.c><libz_infback.c>
-File 6,1,<../../components/external/libz/inffast.c><libz_inffast.c>
-File 6,1,<../../components/external/libz/inflate.c><libz_inflate.c>
-File 6,1,<../../components/external/libz/inftrees.c><libz_inftrees.c>
-File 6,1,<../../components/external/libz/trees.c><libz_trees.c>
-File 6,1,<../../components/external/libz/uncompr.c><libz_uncompr.c>
-File 6,1,<../../components/external/libz/zutil.c><libz_zutil.c>
-File 7,1,<../../components/external/jpeg/jaricom.c><jpeg_jaricom.c>
-File 7,1,<../../components/external/jpeg/jcomapi.c><jpeg_jcomapi.c>
-File 7,1,<../../components/external/jpeg/jutils.c><jpeg_jutils.c>
-File 7,1,<../../components/external/jpeg/jerror.c><jpeg_jerror.c>
-File 7,1,<../../components/external/jpeg/jmemmgr.c><jpeg_jmemmgr.c>
-File 7,1,<../../components/external/jpeg/jdapimin.c><jpeg_jdapimin.c>
-File 7,1,<../../components/external/jpeg/jdapistd.c><jpeg_jdapistd.c>
-File 7,1,<../../components/external/jpeg/jdarith.c><jpeg_jdarith.c>
-File 7,1,<../../components/external/jpeg/jdtrans.c><jpeg_jdtrans.c>
-File 7,1,<../../components/external/jpeg/jdmaster.c><jpeg_jdmaster.c>
-File 7,1,<../../components/external/jpeg/jdinput.c><jpeg_jdinput.c>
-File 7,1,<../../components/external/jpeg/jdmarker.c><jpeg_jdmarker.c>
-File 7,1,<../../components/external/jpeg/jdhuff.c><jpeg_jdhuff.c>
-File 7,1,<../../components/external/jpeg/jdmainct.c><jpeg_jdmainct.c>
-File 7,1,<../../components/external/jpeg/jdcoefct.c><jpeg_jdcoefct.c>
-File 7,1,<../../components/external/jpeg/jdpostct.c><jpeg_jdpostct.c>
-File 7,1,<../../components/external/jpeg/jddctmgr.c><jpeg_jddctmgr.c>
-File 7,1,<../../components/external/jpeg/jidctfst.c><jpeg_jidctfst.c>
-File 7,1,<../../components/external/jpeg/jidctflt.c><jpeg_jidctflt.c>
-File 7,1,<../../components/external/jpeg/jidctint.c><jpeg_jidctint.c>
-File 7,1,<../../components/external/jpeg/jdsample.c><jpeg_jdsample.c>
-File 7,1,<../../components/external/jpeg/jdcolor.c><jpeg_jdcolor.c>
-File 7,1,<../../components/external/jpeg/jquant1.c><jpeg_jquant1.c>
-File 7,1,<../../components/external/jpeg/jquant2.c><jpeg_jquant2.c>
-File 7,1,<../../components/external/jpeg/jdmerge.c><jpeg_jdmerge.c>
-File 7,1,<../../components/external/jpeg/jmemnobs.c><jpeg_jmemnobs.c>
-File 8,1,<../../components/external/libpng/png.c><libpng_png.c>
-File 8,1,<../../components/external/libpng/pngerror.c><libpng_pngerror.c>
-File 8,1,<../../components/external/libpng/pnggccrd.c><libpng_pnggccrd.c>
-File 8,1,<../../components/external/libpng/pngget.c><libpng_pngget.c>
-File 8,1,<../../components/external/libpng/pngmem.c><libpng_pngmem.c>
-File 8,1,<../../components/external/libpng/pngpread.c><libpng_pngpread.c>
-File 8,1,<../../components/external/libpng/pngread.c><libpng_pngread.c>
-File 8,1,<../../components/external/libpng/pngrio.c><libpng_pngrio.c>
-File 8,1,<../../components/external/libpng/pngrtran.c><libpng_pngrtran.c>
-File 8,1,<../../components/external/libpng/pngrutil.c><libpng_pngrutil.c>
-File 8,1,<../../components/external/libpng/pngset.c><libpng_pngset.c>
-File 8,1,<../../components/external/libpng/pngtrans.c><libpng_pngtrans.c>
-File 8,1,<../../components/external/libpng/pngvcrd.c><libpng_pngvcrd.c>
-File 8,1,<../../components/external/libpng/pngwio.c><libpng_pngwio.c>
-File 8,1,<../../components/external/libpng/pngwrite.c><libpng_pngwrite.c>
-File 8,1,<../../components/external/libpng/pngwtran.c><libpng_pngwtran.c>
-File 8,1,<../../components/external/libpng/pngwutil.c><libpng_pngwutil.c>
-File 9,1,<../../components/libdl/dlclose.c><libdl_dlclose.c>
-File 9,1,<../../components/libdl/dlerror.c><libdl_dlerror.c>
-File 9,1,<../../components/libdl/dlopen.c><libdl_dlopen.c>
-File 9,1,<../../components/libdl/dlsym.c><libdl_dlsym.c>
-File 10,1,<../../components/finsh/shell.c><finsh_shell.c>
-File 10,1,<../../components/finsh/symbol.c><finsh_symbol.c>
-File 10,1,<../../components/finsh/cmd.c><finsh_cmd.c>
-File 10,1,<../../components/finsh/finsh_compiler.c><finsh_finsh_compiler.c>
-File 10,1,<../../components/finsh/finsh_error.c><finsh_finsh_error.c>
-File 10,1,<../../components/finsh/finsh_heap.c><finsh_finsh_heap.c>
-File 10,1,<../../components/finsh/finsh_init.c><finsh_finsh_init.c>
-File 10,1,<../../components/finsh/finsh_node.c><finsh_finsh_node.c>
-File 10,1,<../../components/finsh/finsh_ops.c><finsh_finsh_ops.c>
-File 10,1,<../../components/finsh/finsh_parser.c><finsh_finsh_parser.c>
-File 10,1,<../../components/finsh/finsh_var.c><finsh_finsh_var.c>
-File 10,1,<../../components/finsh/finsh_vm.c><finsh_finsh_vm.c>
-File 10,1,<../../components/finsh/finsh_token.c><finsh_finsh_token.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/api/api_lib.c><api_api_lib.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/api/api_msg.c><api_api_msg.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/api/err.c><api_err.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/api/netbuf.c><api_netbuf.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/api/netdb.c><api_netdb.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/api/netifapi.c><api_netifapi.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/api/sockets.c><api_sockets.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/api/tcpip.c><api_tcpip.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/arch/sys_arch.c><arch_sys_arch.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/def.c><core_def.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/dhcp.c><core_dhcp.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/dns.c><core_dns.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/init.c><core_init.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/memp.c><core_memp.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/netif.c><core_netif.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/pbuf.c><core_pbuf.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/raw.c><core_raw.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/stats.c><core_stats.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/sys.c><core_sys.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/tcp.c><core_tcp.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/tcp_in.c><core_tcp_in.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/tcp_out.c><core_tcp_out.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/timers.c><core_timers.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/udp.c><core_udp.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/ipv4/autoip.c><ipv4_autoip.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/ipv4/icmp.c><ipv4_icmp.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/ipv4/igmp.c><ipv4_igmp.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/ipv4/inet.c><ipv4_inet.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/ipv4/inet_chksum.c><ipv4_inet_chksum.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/ipv4/ip.c><ipv4_ip.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/ipv4/ip_addr.c><ipv4_ip_addr.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/core/ipv4/ip_frag.c><ipv4_ip_frag.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/netif/etharp.c><netif_etharp.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/netif/ethernetif.c><netif_ethernetif.c>
-File 11,1,<../../components/net/lwip-1.4.1/src/netif/slipif.c><netif_slipif.c>
-File 12,1,<../../components/dfs/src/dfs.c><src_dfs.c>
-File 12,1,<../../components/dfs/src/dfs_file.c><src_dfs_file.c>
-File 12,1,<../../components/dfs/src/dfs_fs.c><src_dfs_fs.c>
-File 12,1,<../../components/dfs/src/dfs_posix.c><src_dfs_posix.c>
-File 12,1,<../../components/dfs/filesystems/elmfat/dfs_elm.c><elmfat_dfs_elm.c>
-File 12,1,<../../components/dfs/filesystems/elmfat/ff.c><elmfat_ff.c>
-File 12,1,<../../components/dfs/filesystems/elmfat/option/cc936.c><option_cc936.c>
-File 12,1,<../../components/dfs/filesystems/devfs/console.c><devfs_console.c>
-File 12,1,<../../components/dfs/filesystems/devfs/devfs.c><devfs_devfs.c>
+File 1,1,<.\application.c><application.c>
+File 1,1,<.\startup.c><startup.c>
+File 1,1,<.\board.c><board.c>
+File 1,1,<.\console.c><console.c>
+File 1,1,<.\led.c><led.c>
+File 1,1,<.\sdcard.c><sdcard.c>
+File 1,1,<.\dm9000.c><dm9000.c>
+File 1,1,<..\..\src\clock.c><clock.c>
+File 1,1,<..\..\src\device.c><device.c>
+File 1,1,<..\..\src\idle.c><idle.c>
+File 1,1,<..\..\src\ipc.c><ipc.c>
+File 1,1,<..\..\src\irq.c><irq.c>
+File 1,1,<..\..\src\kservice.c><kservice.c>
+File 1,1,<..\..\src\mem.c><mem.c>
+File 1,1,<..\..\src\mempool.c><mempool.c>
+File 1,1,<..\..\src\module.c><module.c>
+File 1,1,<..\..\src\object.c><object.c>
+File 1,1,<..\..\src\scheduler.c><scheduler.c>
+File 1,1,<..\..\src\thread.c><thread.c>
+File 1,1,<..\..\src\timer.c><timer.c>
+File 1,1,<..\..\libcpu\arm\s3c24x0\cpu.c><cpu.c>
+File 1,1,<..\..\libcpu\arm\s3c24x0\interrupt.c><interrupt.c>
+File 1,1,<..\..\libcpu\arm\s3c24x0\mmu.c><mmu.c>
+File 1,1,<..\..\libcpu\arm\s3c24x0\rtc.c><rtc.c>
+File 1,1,<..\..\libcpu\arm\s3c24x0\serial.c><serial.c>
+File 1,1,<..\..\libcpu\arm\s3c24x0\stack.c><stack.c>
+File 1,1,<..\..\libcpu\arm\s3c24x0\system_clock.c><system_clock.c>
+File 1,1,<..\..\libcpu\arm\s3c24x0\trap.c><trap.c>
+File 1,2,<..\..\libcpu\arm\s3c24x0\context_rvds.S><context_rvds.S>
+File 1,2,<..\..\libcpu\arm\s3c24x0\start_rvds.S><start_rvds.S>
+File 1,1,<..\..\libcpu\arm\common\backtrace.c><backtrace.c>
+File 1,1,<..\..\libcpu\arm\common\div0.c><div0.c>
+File 1,1,<..\..\libcpu\arm\common\showmem.c><showmem.c>
+File 1,1,<..\..\components\dfs\src\dfs.c><dfs.c>
+File 1,1,<..\..\components\dfs\src\dfs_file.c><dfs_file.c>
+File 1,1,<..\..\components\dfs\src\dfs_fs.c><dfs_fs.c>
+File 1,1,<..\..\components\dfs\src\dfs_posix.c><dfs_posix.c>
+File 1,1,<..\..\components\dfs\filesystems\devfs\console.c><devfs_console.c>
+File 1,1,<..\..\components\dfs\filesystems\devfs\devfs.c><devfs.c>
+File 1,1,<..\..\components\dfs\filesystems\elmfat\dfs_elm.c><dfs_elm.c>
+File 1,1,<..\..\components\dfs\filesystems\elmfat\ff.c><ff.c>
+File 1,1,<..\..\components\dfs\filesystems\elmfat\option\cc936.c><cc936.c>
+File 1,1,<..\..\components\external\jpeg\jaricom.c><jaricom.c>
+File 1,1,<..\..\components\external\jpeg\jcomapi.c><jcomapi.c>
+File 1,1,<..\..\components\external\jpeg\jutils.c><jutils.c>
+File 1,1,<..\..\components\external\jpeg\jerror.c><jerror.c>
+File 1,1,<..\..\components\external\jpeg\jmemmgr.c><jmemmgr.c>
+File 1,1,<..\..\components\external\jpeg\jdapimin.c><jdapimin.c>
+File 1,1,<..\..\components\external\jpeg\jdapistd.c><jdapistd.c>
+File 1,1,<..\..\components\external\jpeg\jdarith.c><jdarith.c>
+File 1,1,<..\..\components\external\jpeg\jdtrans.c><jdtrans.c>
+File 1,1,<..\..\components\external\jpeg\jdmaster.c><jdmaster.c>
+File 1,1,<..\..\components\external\jpeg\jdinput.c><jdinput.c>
+File 1,1,<..\..\components\external\jpeg\jdmarker.c><jdmarker.c>
+File 1,1,<..\..\components\external\jpeg\jdhuff.c><jdhuff.c>
+File 1,1,<..\..\components\external\jpeg\jdmainct.c><jdmainct.c>
+File 1,1,<..\..\components\external\jpeg\jdcoefct.c><jdcoefct.c>
+File 1,1,<..\..\components\external\jpeg\jdpostct.c><jdpostct.c>
+File 1,1,<..\..\components\external\jpeg\jddctmgr.c><jddctmgr.c>
+File 1,1,<..\..\components\external\jpeg\jidctfst.c><jidctfst.c>
+File 1,1,<..\..\components\external\jpeg\jidctflt.c><jidctflt.c>
+File 1,1,<..\..\components\external\jpeg\jidctint.c><jidctint.c>
+File 1,1,<..\..\components\external\jpeg\jdsample.c><jdsample.c>
+File 1,1,<..\..\components\external\jpeg\jdcolor.c><jdcolor.c>
+File 1,1,<..\..\components\external\jpeg\jquant1.c><jquant1.c>
+File 1,1,<..\..\components\external\jpeg\jquant2.c><jquant2.c>
+File 1,1,<..\..\components\external\jpeg\jdmerge.c><jdmerge.c>
+File 1,1,<..\..\components\external\jpeg\jmemnobs.c><jmemnobs.c>
+File 1,1,<..\..\components\finsh\shell.c><shell.c>
+File 1,1,<..\..\components\finsh\symbol.c><symbol.c>
+File 1,1,<..\..\components\finsh\cmd.c><cmd.c>
+File 1,1,<..\..\components\finsh\finsh_compiler.c><finsh_compiler.c>
+File 1,1,<..\..\components\finsh\finsh_error.c><finsh_error.c>
+File 1,1,<..\..\components\finsh\finsh_heap.c><finsh_heap.c>
+File 1,1,<..\..\components\finsh\finsh_init.c><finsh_init.c>
+File 1,1,<..\..\components\finsh\finsh_node.c><finsh_node.c>
+File 1,1,<..\..\components\finsh\finsh_ops.c><finsh_ops.c>
+File 1,1,<..\..\components\finsh\finsh_parser.c><finsh_parser.c>
+File 1,1,<..\..\components\finsh\finsh_var.c><finsh_var.c>
+File 1,1,<..\..\components\finsh\finsh_vm.c><finsh_vm.c>
+File 1,1,<..\..\components\finsh\finsh_token.c><finsh_token.c>
+File 1,1,<..\..\components\libc\armlibc\mem_std.c><mem_std.c>
+File 1,1,<..\..\components\libc\armlibc\stubs.c><stubs.c>
+File 1,1,<..\..\components\libdl\dlclose.c><dlclose.c>
+File 1,1,<..\..\components\libdl\dlerror.c><dlerror.c>
+File 1,1,<..\..\components\libdl\dlopen.c><dlopen.c>
+File 1,1,<..\..\components\libdl\dlsym.c><dlsym.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\api\api_lib.c><api_lib.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\api\api_msg.c><api_msg.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\api\err.c><err.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\api\netbuf.c><netbuf.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\api\netdb.c><netdb.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\api\netifapi.c><netifapi.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\api\sockets.c><sockets.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\api\tcpip.c><tcpip.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\arch\sys_arch.c><sys_arch.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\def.c><def.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\dhcp.c><dhcp.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\dns.c><dns.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\init.c><init.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\memp.c><memp.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\netif.c><netif.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\pbuf.c><pbuf.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\raw.c><raw.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\stats.c><stats.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\sys.c><sys.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\tcp.c><tcp.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\tcp_in.c><tcp_in.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\tcp_out.c><tcp_out.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\timers.c><timers.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\udp.c><udp.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\autoip.c><autoip.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\icmp.c><icmp.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\igmp.c><igmp.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\inet.c><inet.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\inet_chksum.c><inet_chksum.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\ip.c><ip.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_addr.c><ip_addr.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_frag.c><ip_frag.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\netif\etharp.c><etharp.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\netif\ethernetif.c><ethernetif.c>
+File 1,1,<..\..\components\net\lwip-1.4.1\src\netif\slipif.c><slipif.c>
+File 1,1,<..\..\components\pthreads\clock_time.c><clock_time.c>
+File 1,1,<..\..\components\pthreads\mqueue.c><mqueue.c>
+File 1,1,<..\..\components\pthreads\pthread.c><pthread.c>
+File 1,1,<..\..\components\pthreads\pthread_attr.c><pthread_attr.c>
+File 1,1,<..\..\components\pthreads\pthread_barrier.c><pthread_barrier.c>
+File 1,1,<..\..\components\pthreads\pthread_cond.c><pthread_cond.c>
+File 1,1,<..\..\components\pthreads\pthread_mutex.c><pthread_mutex.c>
+File 1,1,<..\..\components\pthreads\pthread_rwlock.c><pthread_rwlock.c>
+File 1,1,<..\..\components\pthreads\pthread_spin.c><pthread_spin.c>
+File 1,1,<..\..\components\pthreads\pthread_tls.c><pthread_tls.c>
+File 1,1,<..\..\components\pthreads\sched.c><sched.c>
+File 1,1,<..\..\components\pthreads\semaphore.c><semaphore.c>
+File 2,1,<..\..\src\clock.c><src_clock.c>
+File 2,1,<..\..\src\device.c><src_device.c>
+File 2,1,<..\..\src\idle.c><src_idle.c>
+File 2,1,<..\..\src\ipc.c><src_ipc.c>
+File 2,1,<..\..\src\irq.c><src_irq.c>
+File 2,1,<..\..\src\kservice.c><src_kservice.c>
+File 2,1,<..\..\src\mem.c><src_mem.c>
+File 2,1,<..\..\src\mempool.c><src_mempool.c>
+File 2,1,<..\..\src\module.c><src_module.c>
+File 2,1,<..\..\src\object.c><src_object.c>
+File 2,1,<..\..\src\scheduler.c><src_scheduler.c>
+File 2,1,<..\..\src\thread.c><src_thread.c>
+File 2,1,<..\..\src\timer.c><src_timer.c>
+File 3,1,<..\..\libcpu\arm\s3c24x0\cpu.c><s3c24x0_cpu.c>
+File 3,1,<..\..\libcpu\arm\s3c24x0\interrupt.c><s3c24x0_interrupt.c>
+File 3,1,<..\..\libcpu\arm\s3c24x0\mmu.c><s3c24x0_mmu.c>
+File 3,1,<..\..\libcpu\arm\s3c24x0\rtc.c><s3c24x0_rtc.c>
+File 3,1,<..\..\libcpu\arm\s3c24x0\serial.c><s3c24x0_serial.c>
+File 3,1,<..\..\libcpu\arm\s3c24x0\stack.c><s3c24x0_stack.c>
+File 3,1,<..\..\libcpu\arm\s3c24x0\system_clock.c><s3c24x0_system_clock.c>
+File 3,1,<..\..\libcpu\arm\s3c24x0\trap.c><s3c24x0_trap.c>
+File 3,2,<..\..\libcpu\arm\s3c24x0\context_rvds.S><s3c24x0_context_rvds.S>
+File 3,2,<..\..\libcpu\arm\s3c24x0\start_rvds.S><s3c24x0_start_rvds.S>
+File 3,1,<..\..\libcpu\arm\common\backtrace.c><common_backtrace.c>
+File 3,1,<..\..\libcpu\arm\common\div0.c><common_div0.c>
+File 3,1,<..\..\libcpu\arm\common\showmem.c><common_showmem.c>
+File 4,1,<..\..\components\dfs\src\dfs.c><src_dfs.c>
+File 4,1,<..\..\components\dfs\src\dfs_file.c><src_dfs_file.c>
+File 4,1,<..\..\components\dfs\src\dfs_fs.c><src_dfs_fs.c>
+File 4,1,<..\..\components\dfs\src\dfs_posix.c><src_dfs_posix.c>
+File 4,1,<..\..\components\dfs\filesystems\devfs\console.c><devfs_console.c>
+File 4,1,<..\..\components\dfs\filesystems\devfs\devfs.c><devfs_devfs.c>
+File 4,1,<..\..\components\dfs\filesystems\elmfat\dfs_elm.c><elmfat_dfs_elm.c>
+File 4,1,<..\..\components\dfs\filesystems\elmfat\ff.c><elmfat_ff.c>
+File 4,1,<..\..\components\dfs\filesystems\elmfat\option\cc936.c><option_cc936.c>
+File 5,1,<..\..\components\external\jpeg\jaricom.c><jpeg_jaricom.c>
+File 5,1,<..\..\components\external\jpeg\jcomapi.c><jpeg_jcomapi.c>
+File 5,1,<..\..\components\external\jpeg\jutils.c><jpeg_jutils.c>
+File 5,1,<..\..\components\external\jpeg\jerror.c><jpeg_jerror.c>
+File 5,1,<..\..\components\external\jpeg\jmemmgr.c><jpeg_jmemmgr.c>
+File 5,1,<..\..\components\external\jpeg\jdapimin.c><jpeg_jdapimin.c>
+File 5,1,<..\..\components\external\jpeg\jdapistd.c><jpeg_jdapistd.c>
+File 5,1,<..\..\components\external\jpeg\jdarith.c><jpeg_jdarith.c>
+File 5,1,<..\..\components\external\jpeg\jdtrans.c><jpeg_jdtrans.c>
+File 5,1,<..\..\components\external\jpeg\jdmaster.c><jpeg_jdmaster.c>
+File 5,1,<..\..\components\external\jpeg\jdinput.c><jpeg_jdinput.c>
+File 5,1,<..\..\components\external\jpeg\jdmarker.c><jpeg_jdmarker.c>
+File 5,1,<..\..\components\external\jpeg\jdhuff.c><jpeg_jdhuff.c>
+File 5,1,<..\..\components\external\jpeg\jdmainct.c><jpeg_jdmainct.c>
+File 5,1,<..\..\components\external\jpeg\jdcoefct.c><jpeg_jdcoefct.c>
+File 5,1,<..\..\components\external\jpeg\jdpostct.c><jpeg_jdpostct.c>
+File 5,1,<..\..\components\external\jpeg\jddctmgr.c><jpeg_jddctmgr.c>
+File 5,1,<..\..\components\external\jpeg\jidctfst.c><jpeg_jidctfst.c>
+File 5,1,<..\..\components\external\jpeg\jidctflt.c><jpeg_jidctflt.c>
+File 5,1,<..\..\components\external\jpeg\jidctint.c><jpeg_jidctint.c>
+File 5,1,<..\..\components\external\jpeg\jdsample.c><jpeg_jdsample.c>
+File 5,1,<..\..\components\external\jpeg\jdcolor.c><jpeg_jdcolor.c>
+File 5,1,<..\..\components\external\jpeg\jquant1.c><jpeg_jquant1.c>
+File 5,1,<..\..\components\external\jpeg\jquant2.c><jpeg_jquant2.c>
+File 5,1,<..\..\components\external\jpeg\jdmerge.c><jpeg_jdmerge.c>
+File 5,1,<..\..\components\external\jpeg\jmemnobs.c><jpeg_jmemnobs.c>
+File 6,1,<..\..\components\finsh\shell.c><finsh_shell.c>
+File 6,1,<..\..\components\finsh\symbol.c><finsh_symbol.c>
+File 6,1,<..\..\components\finsh\cmd.c><finsh_cmd.c>
+File 6,1,<..\..\components\finsh\finsh_compiler.c><finsh_finsh_compiler.c>
+File 6,1,<..\..\components\finsh\finsh_error.c><finsh_finsh_error.c>
+File 6,1,<..\..\components\finsh\finsh_heap.c><finsh_finsh_heap.c>
+File 6,1,<..\..\components\finsh\finsh_init.c><finsh_finsh_init.c>
+File 6,1,<..\..\components\finsh\finsh_node.c><finsh_finsh_node.c>
+File 6,1,<..\..\components\finsh\finsh_ops.c><finsh_finsh_ops.c>
+File 6,1,<..\..\components\finsh\finsh_parser.c><finsh_finsh_parser.c>
+File 6,1,<..\..\components\finsh\finsh_var.c><finsh_finsh_var.c>
+File 6,1,<..\..\components\finsh\finsh_vm.c><finsh_finsh_vm.c>
+File 6,1,<..\..\components\finsh\finsh_token.c><finsh_finsh_token.c>
+File 7,1,<..\..\components\libc\armlibc\mem_std.c><armlibc_mem_std.c>
+File 7,1,<..\..\components\libc\armlibc\stubs.c><armlibc_stubs.c>
+File 8,1,<..\..\components\libdl\dlclose.c><libdl_dlclose.c>
+File 8,1,<..\..\components\libdl\dlerror.c><libdl_dlerror.c>
+File 8,1,<..\..\components\libdl\dlopen.c><libdl_dlopen.c>
+File 8,1,<..\..\components\libdl\dlsym.c><libdl_dlsym.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\api\api_lib.c><api_api_lib.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\api\api_msg.c><api_api_msg.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\api\err.c><api_err.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\api\netbuf.c><api_netbuf.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\api\netdb.c><api_netdb.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\api\netifapi.c><api_netifapi.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\api\sockets.c><api_sockets.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\api\tcpip.c><api_tcpip.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\arch\sys_arch.c><arch_sys_arch.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\def.c><core_def.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\dhcp.c><core_dhcp.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\dns.c><core_dns.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\init.c><core_init.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\memp.c><core_memp.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\netif.c><core_netif.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\pbuf.c><core_pbuf.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\raw.c><core_raw.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\stats.c><core_stats.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\sys.c><core_sys.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\tcp.c><core_tcp.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\tcp_in.c><core_tcp_in.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\tcp_out.c><core_tcp_out.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\timers.c><core_timers.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\udp.c><core_udp.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\autoip.c><ipv4_autoip.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\icmp.c><ipv4_icmp.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\igmp.c><ipv4_igmp.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\inet.c><ipv4_inet.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\inet_chksum.c><ipv4_inet_chksum.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\ip.c><ipv4_ip.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_addr.c><ipv4_ip_addr.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_frag.c><ipv4_ip_frag.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\netif\etharp.c><netif_etharp.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\netif\ethernetif.c><netif_ethernetif.c>
+File 9,1,<..\..\components\net\lwip-1.4.1\src\netif\slipif.c><netif_slipif.c>
+File 10,1,<..\..\components\pthreads\clock_time.c><pthreads_clock_time.c>
+File 10,1,<..\..\components\pthreads\mqueue.c><pthreads_mqueue.c>
+File 10,1,<..\..\components\pthreads\pthread.c><pthreads_pthread.c>
+File 10,1,<..\..\components\pthreads\pthread_attr.c><pthreads_pthread_attr.c>
+File 10,1,<..\..\components\pthreads\pthread_barrier.c><pthreads_pthread_barrier.c>
+File 10,1,<..\..\components\pthreads\pthread_cond.c><pthreads_pthread_cond.c>
+File 10,1,<..\..\components\pthreads\pthread_mutex.c><pthreads_pthread_mutex.c>
+File 10,1,<..\..\components\pthreads\pthread_rwlock.c><pthreads_pthread_rwlock.c>
+File 10,1,<..\..\components\pthreads\pthread_spin.c><pthreads_pthread_spin.c>
+File 10,1,<..\..\components\pthreads\pthread_tls.c><pthreads_pthread_tls.c>
+File 10,1,<..\..\components\pthreads\sched.c><pthreads_sched.c>
+File 10,1,<..\..\components\pthreads\semaphore.c><pthreads_semaphore.c>
 
 
 
@@ -397,7 +337,7 @@ Options 1,0,0  // Target 'RT-Thread Mini2440'
  ADSCMISC (--diag_suppress=870)
  ADSCDEFN (RT_USING_ARM_LIBC)
  ADSCUDEF ()
- ADSCINCD (../../components/libdl;../../components/external/libpng;../../libcpu/arm/s3c24x0;../../components/finsh;../../components/net/lwip-1.4.1/src;../../components/pthreads;../../components/dfs/filesystems/elmfat;../../libcpu/arm/common;../../components/dfs/filesystems/devfs;.;../../components/external/libz;../../components/net/lwip-1.4.1/src/include/netif;../../include;../../components/dfs/include;../../components/net/lwip-1.4.1/src/include;../../components/external/jpeg;../../components/libc/armlibc;../../components/net/lwip-1.4.1/src/arch/include;../../components/net/lwip-1.4.1/src/include/ipv4)
+ ADSCINCD (..\..\components\net\lwip-1.4.1\src;..\..\components\pthreads;..\..\components\libdl;..\..\components\dfs\filesystems\elmfat;..\..\components\net\lwip-1.4.1\src\include;..\..\libcpu\arm\s3c24x0;..\..\components\net\lwip-1.4.1\src\include\ipv4;..\..\components\net\lwip-1.4.1\src\include\netif;.;..\..\include;..\..\components\external\jpeg;..\..\components\dfs\include;..\..\components\libc\armlibc;..\..\libcpu\arm\common;..\..\components\net\lwip-1.4.1\src\arch\include;..\..\components\finsh;..\..\components\dfs\filesystems\devfs)
  ADSASFLG { 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }
  ADSAMISC ()
  ADSADEFN ()

+ 88 - 717
bsp/mini2440/project.uvproj

@@ -161,10 +161,11 @@
             <UseTargetDll>1</UseTargetDll>
             <UseExternalTool>0</UseExternalTool>
             <RunIndependent>0</RunIndependent>
-            <UpdateFlashBeforeDebugging>0</UpdateFlashBeforeDebugging>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
             <Capability>1</Capability>
             <DriverSelection>4098</DriverSelection>
           </Flash1>
+          <bUseTDR>1</bUseTDR>
           <Flash2>Segger\JLTAgdi.dll</Flash2>
           <Flash3>"" ()</Flash3>
           <Flash4></Flash4>
@@ -348,9 +349,9 @@
             <uSurpInc>0</uSurpInc>
             <VariousControls>
               <MiscControls>--diag_suppress=870</MiscControls>
-              <Define></Define>
+              <Define>RT_USING_ARM_LIBC</Define>
               <Undefine></Undefine>
-              <IncludePath>.;..\..\components\dfs;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\include;..\..\components\external\jpeg;..\..\components\external\libpng;..\..\components\external\libz;..\..\components\finsh;..\..\components\libdl;..\..\components\net\lwip\src;..\..\components\net\lwip\src\arch\include;..\..\components\net\lwip\src\include;..\..\components\net\lwip\src\include\ipv4;..\..\components\net\lwip\src\include\netif;..\..\components\pthreads;..\..\components\rtgui\common;..\..\components\rtgui\include;..\..\components\rtgui\server;..\..\components\rtgui\widgets;..\..\include;..\..\libcpu\arm\common;..\..\libcpu\arm\s3c24x0</IncludePath>
+              <IncludePath>applications;.;drivers;..\..\include;..\..\libcpu\arm\s3c24x0;..\..\libcpu\arm\common;..\..\components\dfs\include;..\..\components\dfs\filesystems\devfs;..\..\components\dfs\filesystems\elmfat;..\..\components\external\jpeg;..\..\components\finsh;..\..\components\libc\armlibc;..\..\components\libdl;..\..\components\net\lwip-1.4.1\src;..\..\components\net\lwip-1.4.1\src\include;..\..\components\net\lwip-1.4.1\src\include\ipv4;..\..\components\net\lwip-1.4.1\src\arch\include;..\..\components\net\lwip-1.4.1\src\include\netif;..\..\components\pthreads</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -381,7 +382,7 @@
             <ScatterFile>rtthread-mini2440.sct</ScatterFile>
             <IncludeLibs></IncludeLibs>
             <IncludeLibsPath></IncludeLibsPath>
-            <Misc> --keep __rtmsym_*   --keep __fsym_* --keep __vsym_* </Misc>
+            <Misc> --keep *.o(RTMSymTab)   --keep *.o(FSymTab) --keep *.o(VSymTab) </Misc>
             <LinkerInputFile></LinkerInputFile>
             <DisabledWarnings></DisabledWarnings>
           </LDads>
@@ -389,62 +390,47 @@
       </TargetOption>
       <Groups>
         <Group>
-          <GroupName>Startup</GroupName>
+          <GroupName>Applications</GroupName>
           <Files>
             <File>
               <FileName>application.c</FileName>
               <FileType>1</FileType>
-              <FilePath>.\application.c</FilePath>
+              <FilePath>applications\application.c</FilePath>
             </File>
             <File>
               <FileName>startup.c</FileName>
               <FileType>1</FileType>
-              <FilePath>.\startup.c</FilePath>
+              <FilePath>applications\startup.c</FilePath>
             </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>Drivers</GroupName>
+          <Files>
             <File>
               <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>.\board.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
             <File>
-              <FileName>console.c</FileName>
+              <FileName>led.c</FileName>
               <FileType>1</FileType>
-              <FilePath>.\console.c</FilePath>
+              <FilePath>drivers\led.c</FilePath>
             </File>
             <File>
-              <FileName>led.c</FileName>
+              <FileName>console.c</FileName>
               <FileType>1</FileType>
-              <FilePath>.\led.c</FilePath>
+              <FilePath>drivers\console.c</FilePath>
             </File>
             <File>
               <FileName>sdcard.c</FileName>
               <FileType>1</FileType>
-              <FilePath>.\sdcard.c</FilePath>
+              <FilePath>drivers\sdcard.c</FilePath>
             </File>
             <File>
               <FileName>dm9000.c</FileName>
               <FileType>1</FileType>
-              <FilePath>.\dm9000.c</FilePath>
-            </File>
-            <File>
-              <FileName>touch.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\touch.c</FilePath>
-            </File>
-            <File>
-              <FileName>key.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\key.c</FilePath>
-            </File>
-            <File>
-              <FileName>calibration.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\calibration.c</FilePath>
-            </File>
-            <File>
-              <FileName>lcd_t35.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>.\lcd_t35.c</FilePath>
+              <FilePath>drivers\dm9000.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -597,14 +583,14 @@
               <FilePath>..\..\components\dfs\src\dfs.c</FilePath>
             </File>
             <File>
-              <FileName>dfs_fs.c</FileName>
+              <FileName>dfs_file.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\dfs_fs.c</FilePath>
+              <FilePath>..\..\components\dfs\src\dfs_file.c</FilePath>
             </File>
             <File>
-              <FileName>dfs_file.c</FileName>
+              <FileName>dfs_fs.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\src\dfs_file.c</FilePath>
+              <FilePath>..\..\components\dfs\src\dfs_fs.c</FilePath>
             </File>
             <File>
               <FileName>dfs_posix.c</FileName>
@@ -612,29 +598,29 @@
               <FilePath>..\..\components\dfs\src\dfs_posix.c</FilePath>
             </File>
             <File>
-              <FileName>dfs_elm.c</FileName>
+              <FileName>devfs_console.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\filesystems\elmfat\dfs_elm.c</FilePath>
+              <FilePath>..\..\components\dfs\filesystems\devfs\console.c</FilePath>
             </File>
             <File>
-              <FileName>ff.c</FileName>
+              <FileName>devfs.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\filesystems\elmfat\ff.c</FilePath>
+              <FilePath>..\..\components\dfs\filesystems\devfs\devfs.c</FilePath>
             </File>
             <File>
-              <FileName>cc936.c</FileName>
+              <FileName>dfs_elm.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\filesystems\elmfat\option\cc936.c</FilePath>
+              <FilePath>..\..\components\dfs\filesystems\elmfat\dfs_elm.c</FilePath>
             </File>
             <File>
-              <FileName>devfs.c</FileName>
+              <FileName>ff.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\filesystems\devfs\devfs.c</FilePath>
+              <FilePath>..\..\components\dfs\filesystems\elmfat\ff.c</FilePath>
             </File>
             <File>
-              <FileName>devfs_console.c</FileName>
+              <FileName>cc936.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\dfs\filesystems\devfs\console.c</FilePath>
+              <FilePath>..\..\components\dfs\filesystems\elmfat\option\cc936.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -774,158 +760,18 @@
           </Files>
         </Group>
         <Group>
-          <GroupName>libpng</GroupName>
-          <Files>
-            <File>
-              <FileName>png.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\png.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngerror.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngerror.c</FilePath>
-            </File>
-            <File>
-              <FileName>pnggccrd.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pnggccrd.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngget.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngget.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngmem.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngmem.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngpread.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngpread.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngread.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngread.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngrio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngrio.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngrtran.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngrtran.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngrutil.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngrutil.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngset.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngset.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngtrans.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngtrans.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngvcrd.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngvcrd.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngwio.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngwio.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngwrite.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngwrite.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngwtran.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngwtran.c</FilePath>
-            </File>
-            <File>
-              <FileName>pngwutil.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libpng\pngwutil.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>libz</GroupName>
+          <GroupName>finsh</GroupName>
           <Files>
             <File>
-              <FileName>adler32.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\adler32.c</FilePath>
-            </File>
-            <File>
-              <FileName>compress.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\compress.c</FilePath>
-            </File>
-            <File>
-              <FileName>crc32.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\crc32.c</FilePath>
-            </File>
-            <File>
-              <FileName>deflate.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\deflate.c</FilePath>
-            </File>
-            <File>
-              <FileName>infback.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\infback.c</FilePath>
-            </File>
-            <File>
-              <FileName>inffast.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\inffast.c</FilePath>
-            </File>
-            <File>
-              <FileName>inflate.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\inflate.c</FilePath>
-            </File>
-            <File>
-              <FileName>inftrees.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\inftrees.c</FilePath>
-            </File>
-            <File>
-              <FileName>trees.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\trees.c</FilePath>
-            </File>
-            <File>
-              <FileName>uncompr.c</FileName>
+              <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\uncompr.c</FilePath>
+              <FilePath>..\..\components\finsh\shell.c</FilePath>
             </File>
             <File>
-              <FileName>zutil.c</FileName>
+              <FileName>symbol.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\external\libz\zutil.c</FilePath>
+              <FilePath>..\..\components\finsh\symbol.c</FilePath>
             </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>finsh</GroupName>
-          <Files>
             <File>
               <FileName>cmd.c</FileName>
               <FileType>1</FileType>
@@ -966,11 +812,6 @@
               <FileType>1</FileType>
               <FilePath>..\..\components\finsh\finsh_parser.c</FilePath>
             </File>
-            <File>
-              <FileName>finsh_token.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_token.c</FilePath>
-            </File>
             <File>
               <FileName>finsh_var.c</FileName>
               <FileType>1</FileType>
@@ -982,14 +823,24 @@
               <FilePath>..\..\components\finsh\finsh_vm.c</FilePath>
             </File>
             <File>
-              <FileName>shell.c</FileName>
+              <FileName>finsh_token.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\shell.c</FilePath>
+              <FilePath>..\..\components\finsh\finsh_token.c</FilePath>
             </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>libc</GroupName>
+          <Files>
             <File>
-              <FileName>symbol.c</FileName>
+              <FileName>mem_std.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\symbol.c</FilePath>
+              <FilePath>..\..\components\libc\armlibc\mem_std.c</FilePath>
+            </File>
+            <File>
+              <FileName>stubs.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\components\libc\armlibc\stubs.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1024,177 +875,177 @@
             <File>
               <FileName>api_lib.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\api\api_lib.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\api_lib.c</FilePath>
             </File>
             <File>
               <FileName>api_msg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\api\api_msg.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\api_msg.c</FilePath>
             </File>
             <File>
               <FileName>err.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\api\err.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\err.c</FilePath>
             </File>
             <File>
               <FileName>netbuf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\api\netbuf.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\netbuf.c</FilePath>
             </File>
             <File>
               <FileName>netdb.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\api\netdb.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\netdb.c</FilePath>
             </File>
             <File>
               <FileName>netifapi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\api\netifapi.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\netifapi.c</FilePath>
             </File>
             <File>
               <FileName>sockets.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\api\sockets.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\sockets.c</FilePath>
             </File>
             <File>
               <FileName>tcpip.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\api\tcpip.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\api\tcpip.c</FilePath>
             </File>
             <File>
               <FileName>sys_arch.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\arch\sys_arch.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\arch\sys_arch.c</FilePath>
             </File>
             <File>
               <FileName>def.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\def.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\def.c</FilePath>
             </File>
             <File>
               <FileName>dhcp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\dhcp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\dhcp.c</FilePath>
             </File>
             <File>
               <FileName>dns.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\dns.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\dns.c</FilePath>
             </File>
             <File>
               <FileName>init.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\init.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\init.c</FilePath>
             </File>
             <File>
               <FileName>memp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\memp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\memp.c</FilePath>
             </File>
             <File>
               <FileName>netif.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\netif.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\netif.c</FilePath>
             </File>
             <File>
               <FileName>pbuf.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\pbuf.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\pbuf.c</FilePath>
             </File>
             <File>
               <FileName>raw.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\raw.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\raw.c</FilePath>
             </File>
             <File>
               <FileName>stats.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\stats.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\stats.c</FilePath>
             </File>
             <File>
               <FileName>sys.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\sys.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\sys.c</FilePath>
             </File>
             <File>
               <FileName>tcp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\tcp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\tcp.c</FilePath>
             </File>
             <File>
               <FileName>tcp_in.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\tcp_in.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\tcp_in.c</FilePath>
             </File>
             <File>
               <FileName>tcp_out.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\tcp_out.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\tcp_out.c</FilePath>
             </File>
             <File>
               <FileName>timers.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\timers.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\timers.c</FilePath>
             </File>
             <File>
               <FileName>udp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\udp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\udp.c</FilePath>
             </File>
             <File>
               <FileName>autoip.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\ipv4\autoip.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\autoip.c</FilePath>
             </File>
             <File>
               <FileName>icmp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\ipv4\icmp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\icmp.c</FilePath>
             </File>
             <File>
               <FileName>igmp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\ipv4\igmp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\igmp.c</FilePath>
             </File>
             <File>
               <FileName>inet.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\ipv4\inet.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\inet.c</FilePath>
             </File>
             <File>
               <FileName>inet_chksum.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\ipv4\inet_chksum.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\inet_chksum.c</FilePath>
             </File>
             <File>
               <FileName>ip.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\ipv4\ip.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip.c</FilePath>
             </File>
             <File>
               <FileName>ip_addr.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\ipv4\ip_addr.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_addr.c</FilePath>
             </File>
             <File>
               <FileName>ip_frag.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\core\ipv4\ip_frag.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\core\ipv4\ip_frag.c</FilePath>
             </File>
             <File>
               <FileName>etharp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\netif\etharp.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\netif\etharp.c</FilePath>
             </File>
             <File>
               <FileName>ethernetif.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\netif\ethernetif.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\netif\ethernetif.c</FilePath>
             </File>
             <File>
               <FileName>slipif.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\net\lwip\src\netif\slipif.c</FilePath>
+              <FilePath>..\..\components\net\lwip-1.4.1\src\netif\slipif.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -1263,486 +1114,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>RTGUI</GroupName>
-          <Files>
-            <File>
-              <FileName>blit.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\blit.c</FilePath>
-            </File>
-            <File>
-              <FileName>color.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\color.c</FilePath>
-            </File>
-            <File>
-              <FileName>region.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\region.c</FilePath>
-            </File>
-            <File>
-              <FileName>rtgui_object.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\rtgui_object.c</FilePath>
-            </File>
-            <File>
-              <FileName>rtgui_system.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\rtgui_system.c</FilePath>
-            </File>
-            <File>
-              <FileName>rtgui_theme.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\rtgui_theme.c</FilePath>
-            </File>
-            <File>
-              <FileName>rtgui_xml.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\rtgui_xml.c</FilePath>
-            </File>
-            <File>
-              <FileName>rtgui_app.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\rtgui_app.c</FilePath>
-            </File>
-            <File>
-              <FileName>dc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\dc.c</FilePath>
-            </File>
-            <File>
-              <FileName>dc_hw.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\dc_hw.c</FilePath>
-            </File>
-            <File>
-              <FileName>dc_buffer.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\dc_buffer.c</FilePath>
-            </File>
-            <File>
-              <FileName>dc_client.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\dc_client.c</FilePath>
-            </File>
-            <File>
-              <FileName>filerw.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\filerw.c</FilePath>
-            </File>
-            <File>
-              <FileName>image.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\image.c</FilePath>
-            </File>
-            <File>
-              <FileName>image_xpm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\image_xpm.c</FilePath>
-            </File>
-            <File>
-              <FileName>image_hdc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\image_hdc.c</FilePath>
-            </File>
-            <File>
-              <FileName>image_bmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\image_bmp.c</FilePath>
-            </File>
-            <File>
-              <FileName>image_png.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\image_png.c</FilePath>
-            </File>
-            <File>
-              <FileName>image_jpg.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\image_jpg.c</FilePath>
-            </File>
-            <File>
-              <FileName>image_container.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\image_container.c</FilePath>
-            </File>
-            <File>
-              <FileName>font.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\font.c</FilePath>
-            </File>
-            <File>
-              <FileName>font_bmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\font_bmp.c</FilePath>
-            </File>
-            <File>
-              <FileName>font_hz_file.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\font_hz_file.c</FilePath>
-            </File>
-            <File>
-              <FileName>font_hz_bmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\font_hz_bmp.c</FilePath>
-            </File>
-            <File>
-              <FileName>asc12font.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\asc12font.c</FilePath>
-            </File>
-            <File>
-              <FileName>asc16font.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\asc16font.c</FilePath>
-            </File>
-            <File>
-              <FileName>hz12font.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\hz12font.c</FilePath>
-            </File>
-            <File>
-              <FileName>hz16font.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\hz16font.c</FilePath>
-            </File>
-            <File>
-              <FileName>framebuffer_driver.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\framebuffer_driver.c</FilePath>
-            </File>
-            <File>
-              <FileName>pixel_driver.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\pixel_driver.c</FilePath>
-            </File>
-            <File>
-              <FileName>rtgui_mv_model.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\common\rtgui_mv_model.c</FilePath>
-            </File>
-            <File>
-              <FileName>driver.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\server\driver.c</FilePath>
-            </File>
-            <File>
-              <FileName>mouse.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\server\mouse.c</FilePath>
-            </File>
-            <File>
-              <FileName>server.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\server\server.c</FilePath>
-            </File>
-            <File>
-              <FileName>topwin.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\server\topwin.c</FilePath>
-            </File>
-            <File>
-              <FileName>box.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\box.c</FilePath>
-            </File>
-            <File>
-              <FileName>button.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\button.c</FilePath>
-            </File>
-            <File>
-              <FileName>checkbox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\checkbox.c</FilePath>
-            </File>
-            <File>
-              <FileName>combobox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\combobox.c</FilePath>
-            </File>
-            <File>
-              <FileName>iconbox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\iconbox.c</FilePath>
-            </File>
-            <File>
-              <FileName>label.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\label.c</FilePath>
-            </File>
-            <File>
-              <FileName>textview.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\textview.c</FilePath>
-            </File>
-            <File>
-              <FileName>listctrl.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\listctrl.c</FilePath>
-            </File>
-            <File>
-              <FileName>menu.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\menu.c</FilePath>
-            </File>
-            <File>
-              <FileName>progressbar.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\progressbar.c</FilePath>
-            </File>
-            <File>
-              <FileName>radiobox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\radiobox.c</FilePath>
-            </File>
-            <File>
-              <FileName>slider.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\slider.c</FilePath>
-            </File>
-            <File>
-              <FileName>scrollbar.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\scrollbar.c</FilePath>
-            </File>
-            <File>
-              <FileName>staticline.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\staticline.c</FilePath>
-            </File>
-            <File>
-              <FileName>textbox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\textbox.c</FilePath>
-            </File>
-            <File>
-              <FileName>listbox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\listbox.c</FilePath>
-            </File>
-            <File>
-              <FileName>title.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\title.c</FilePath>
-            </File>
-            <File>
-              <FileName>notebook.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\notebook.c</FilePath>
-            </File>
-            <File>
-              <FileName>container.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\container.c</FilePath>
-            </File>
-            <File>
-              <FileName>list_view.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\list_view.c</FilePath>
-            </File>
-            <File>
-              <FileName>filelist_view.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\filelist_view.c</FilePath>
-            </File>
-            <File>
-              <FileName>widget.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\widget.c</FilePath>
-            </File>
-            <File>
-              <FileName>window.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\window.c</FilePath>
-            </File>
-            <File>
-              <FileName>panel.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\panel.c</FilePath>
-            </File>
-            <File>
-              <FileName>groupbox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\groupbox.c</FilePath>
-            </File>
-            <File>
-              <FileName>edit.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\edit.c</FilePath>
-            </File>
-            <File>
-              <FileName>mv_view.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\mv_view.c</FilePath>
-            </File>
-            <File>
-              <FileName>plot.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\plot.c</FilePath>
-            </File>
-            <File>
-              <FileName>plot_curve.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\rtgui\widgets\plot_curve.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>gui_examples</GroupName>
-          <Files>
-            <File>
-              <FileName>demo_application.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_application.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_xml.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_xml.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_benchmark.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_benchmark.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_dc.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_dc.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_ttf.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_ttf.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_dc_buffer.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_dc_buffer.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_animation.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_animation.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_buffer_animation.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_buffer_animation.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_instrument_panel.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_instrument_panel.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_window.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_window.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_label.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_label.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_button.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_button.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_checkbox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_checkbox.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_progressbar.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_progressbar.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_scrollbar.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_scrollbar.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_radiobox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_radiobox.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_textbox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_textbox.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_listbox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_listbox.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_menu.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_menu.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_listctrl.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_listctrl.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_combobox.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_combobox.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_slider.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_slider.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_notebook.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_notebook.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_mywidget.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_mywidget.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_box.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_box.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_edit.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_edit.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_view_bmp.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_view_bmp.c</FilePath>
-            </File>
-            <File>
-              <FileName>demo_plot.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\demo_plot.c</FilePath>
-            </File>
-            <File>
-              <FileName>mywidget.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\examples\gui\mywidget.c</FilePath>
-            </File>
-          </Files>
-        </Group>
       </Groups>
     </Target>
   </Targets>

+ 1 - 1
bsp/mini2440/rtconfig.h

@@ -212,7 +212,7 @@
 // <bool name="RTGUI_IMAGE_JPEG" description="Using jpeg image in RTGUI" default="true" />
 #define RTGUI_IMAGE_JPEG
 // <bool name="RTGUI_IMAGE_PNG" description="Using png image in RTGUI" default="true" />
-#define RTGUI_IMAGE_PNG
+//#define RTGUI_IMAGE_PNG
 // <bool name="RTGUI_IMAGE_BMP" description="Using bmp image in RTGUI" default="true" />
 #define RTGUI_IMAGE_BMP
 // </section>

+ 1 - 1
bsp/mini2440/rtconfig.py

@@ -9,7 +9,7 @@ ARCH     = 'arm'
 CPU      = 's3c24x0'
 TextBase = '0x30000000'
 
-CROSS_TOOL 	= 'gcc'
+CROSS_TOOL 	= 'keil'
 
 if os.getenv('RTT_CC'):
     CROSS_TOOL = os.getenv('RTT_CC')

+ 503 - 146
bsp/stm32f0x/project.uvopt

@@ -27,7 +27,7 @@
     <TargetOption>
       <CLKADS>8000000</CLKADS>
       <OPTTT>
-        <gFlags>1</gFlags>
+        <gFlags>0</gFlags>
         <BeepAtEnd>1</BeepAtEnd>
         <RunSim>1</RunSim>
         <RunTarget>0</RunTarget>
@@ -103,6 +103,7 @@
         <tRmem>1</tRmem>
         <tRfunc>0</tRfunc>
         <tRbox>1</tRbox>
+        <tRtrace>0</tRtrace>
         <sRunDeb>0</sRunDeb>
         <sLrtime>0</sLrtime>
         <nTsel>13</nTsel>
@@ -118,38 +119,19 @@
         <tIfile></tIfile>
         <pMon>STLink\ST-LINKIII-KEIL_SWO.dll</pMon>
       </DebugOpt>
-      <TargetDriverDllRegistry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>DLGTARM</Key>
-          <Name>(1010=75,103,441,526,0)(1007=105,136,282,346,0)(1008=90,120,456,345,0)</Name>
-        </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>ARMDBGFLAGS</Key>
-          <Name></Name>
-        </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>DLGUARM</Key>
-          <Name>(105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name>
-        </SetRegEntry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>ST-LINKIII-KEIL_SWO</Key>
-          <Name>-U-O206 -O206 -S3 -C0 -N00("ARM CoreSight SW-DP") -D00(0BB11477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO3 -FD20000000 -FC800 -FN1 -FF0STM32F05x_64 -FS08000000 -FL010000</Name>
-        </SetRegEntry>
-      </TargetDriverDllRegistry>
       <Breakpoint/>
+      <Tracepoint>
+        <THDelay>0</THDelay>
+      </Tracepoint>
       <DebugFlag>
         <trace>0</trace>
         <periodic>0</periodic>
-        <aLwin>1</aLwin>
+        <aLwin>0</aLwin>
         <aCover>0</aCover>
         <aSer1>0</aSer1>
         <aSer2>0</aSer2>
         <aPa>0</aPa>
-        <viewmode>1</viewmode>
+        <viewmode>0</viewmode>
         <vrSel>0</vrSel>
         <aSym>0</aSym>
         <aTbox>0</aTbox>
@@ -173,23 +155,26 @@
   </Target>
 
   <Group>
-    <GroupName>Applications</GroupName>
+    <GroupName>STM32_StdPeriph</GroupName>
     <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>1</GroupNumber>
       <FileNumber>1</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>49</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>2</TopLine>
-      <CurrentLine>4</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>applications\application.c</PathWithFileName>
-      <FilenameWithoutPath>application.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\CMSIS\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c</PathWithFileName>
+      <FilenameWithoutPath>system_stm32f0xx.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>1</GroupNumber>
@@ -199,21 +184,16 @@
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>97</TopLine>
-      <CurrentLine>115</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>applications\startup.c</PathWithFileName>
-      <FilenameWithoutPath>startup.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_adc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_adc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
-  </Group>
-
-  <Group>
-    <GroupName>Drivers</GroupName>
-    <tvExp>0</tvExp>
-    <tvExpOptDlg>0</tvExpOptDlg>
-    <cbSel>0</cbSel>
     <File>
-      <GroupNumber>2</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>3</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -223,11 +203,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>drivers\board.c</PathWithFileName>
-      <FilenameWithoutPath>board.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_cec.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_cec.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>2</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>4</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -237,18 +219,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>drivers\stm32f0xx_it.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_it.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_comp.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_comp.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
-  </Group>
-
-  <Group>
-    <GroupName>STM32_StdPeriph</GroupName>
-    <tvExp>0</tvExp>
-    <tvExpOptDlg>0</tvExpOptDlg>
-    <cbSel>0</cbSel>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>5</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -258,11 +235,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\CMSIS\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c</PathWithFileName>
-      <FilenameWithoutPath>system_stm32f0xx.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_crc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_crc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>6</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -272,11 +251,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_adc.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_adc.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dac.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_dac.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>7</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -286,11 +267,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_cec.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_cec.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dbgmcu.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_dbgmcu.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>8</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -300,11 +283,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_comp.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_comp.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dma.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_dma.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>9</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -314,11 +299,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_crc.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_crc.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_exti.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_exti.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>10</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -328,11 +315,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dac.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_dac.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_flash.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_flash.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>11</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -342,11 +331,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dbgmcu.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_dbgmcu.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_gpio.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_gpio.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>12</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -356,11 +347,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dma.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_dma.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_i2c.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_i2c.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>13</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -370,11 +363,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_exti.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_exti.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_iwdg.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_iwdg.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>14</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -384,11 +379,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_flash.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_flash.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_misc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_misc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>15</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -398,11 +395,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_gpio.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_gpio.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_pwr.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_pwr.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>16</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -412,11 +411,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_i2c.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_i2c.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rcc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_rcc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>17</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -426,11 +427,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_iwdg.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_iwdg.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rtc.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_rtc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>18</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -440,11 +443,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_misc.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_misc.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_spi.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_spi.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>19</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -454,11 +459,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_pwr.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_pwr.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_syscfg.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_syscfg.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>20</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -468,11 +475,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rcc.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_rcc.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_tim.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_tim.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>21</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -482,11 +491,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rtc.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_rtc.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_usart.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_usart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>22</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -496,13 +507,15 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_spi.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_spi.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_wwdg.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_wwdg.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>1</GroupNumber>
       <FileNumber>23</FileNumber>
-      <FileType>1</FileType>
+      <FileType>2</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
@@ -510,11 +523,21 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_syscfg.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_syscfg.c</FilenameWithoutPath>
+      <PathWithFileName>Libraries\CMSIS\ST\STM32F0xx\Source\Templates\arm\startup_stm32f0xx.s</PathWithFileName>
+      <FilenameWithoutPath>startup_stm32f0xx.s</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
+  </Group>
+
+  <Group>
+    <GroupName>Applications</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>2</GroupNumber>
       <FileNumber>24</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -524,11 +547,13 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_tim.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_tim.c</FilenameWithoutPath>
+      <PathWithFileName>applications\application.c</PathWithFileName>
+      <FilenameWithoutPath>application.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>2</GroupNumber>
       <FileNumber>25</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
@@ -538,9 +563,19 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_usart.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_usart.c</FilenameWithoutPath>
+      <PathWithFileName>applications\startup.c</PathWithFileName>
+      <FilenameWithoutPath>startup.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
+  </Group>
+
+  <Group>
+    <GroupName>Drivers</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>3</GroupNumber>
       <FileNumber>26</FileNumber>
@@ -552,13 +587,15 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_wwdg.c</PathWithFileName>
-      <FilenameWithoutPath>stm32f0xx_wwdg.c</FilenameWithoutPath>
+      <PathWithFileName>drivers\board.c</PathWithFileName>
+      <FilenameWithoutPath>board.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>3</GroupNumber>
       <FileNumber>27</FileNumber>
-      <FileType>2</FileType>
+      <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
@@ -566,8 +603,42 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>Libraries\CMSIS\ST\STM32F0xx\Source\Templates\arm\startup_stm32f0xx.s</PathWithFileName>
-      <FilenameWithoutPath>startup_stm32f0xx.s</FilenameWithoutPath>
+      <PathWithFileName>drivers\led.c</PathWithFileName>
+      <FilenameWithoutPath>led.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>28</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\stm32f0xx_it.c</PathWithFileName>
+      <FilenameWithoutPath>stm32f0xx_it.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>3</GroupNumber>
+      <FileNumber>29</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>drivers\usart.c</PathWithFileName>
+      <FilenameWithoutPath>usart.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
   </Group>
 
@@ -576,9 +647,10 @@
     <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>28</FileNumber>
+      <FileNumber>30</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -589,10 +661,44 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\clock.c</PathWithFileName>
       <FilenameWithoutPath>clock.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>29</FileNumber>
+      <FileNumber>31</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\components.c</PathWithFileName>
+      <FilenameWithoutPath>components.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>32</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\device.c</PathWithFileName>
+      <FilenameWithoutPath>device.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>33</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -603,10 +709,12 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\idle.c</PathWithFileName>
       <FilenameWithoutPath>idle.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>30</FileNumber>
+      <FileNumber>34</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -617,10 +725,12 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\ipc.c</PathWithFileName>
       <FilenameWithoutPath>ipc.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>31</FileNumber>
+      <FileNumber>35</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -631,38 +741,60 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\irq.c</PathWithFileName>
       <FilenameWithoutPath>irq.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>32</FileNumber>
+      <FileNumber>36</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>1</TopLine>
-      <CurrentLine>1</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\kservice.c</PathWithFileName>
       <FilenameWithoutPath>kservice.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>33</FileNumber>
+      <FileNumber>37</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\src\mem.c</PathWithFileName>
+      <FilenameWithoutPath>mem.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>4</GroupNumber>
+      <FileNumber>38</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>16</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>1</TopLine>
-      <CurrentLine>16</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\object.c</PathWithFileName>
       <FilenameWithoutPath>object.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>34</FileNumber>
+      <FileNumber>39</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -673,10 +805,12 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\scheduler.c</PathWithFileName>
       <FilenameWithoutPath>scheduler.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>35</FileNumber>
+      <FileNumber>40</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -687,20 +821,24 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\thread.c</PathWithFileName>
       <FilenameWithoutPath>thread.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>4</GroupNumber>
-      <FileNumber>36</FileNumber>
+      <FileNumber>41</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>20</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>31</TopLine>
-      <CurrentLine>36</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\src\timer.c</PathWithFileName>
       <FilenameWithoutPath>timer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
   </Group>
 
@@ -709,9 +847,10 @@
     <tvExp>0</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>37</FileNumber>
+      <FileNumber>42</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -722,10 +861,12 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\libcpu\arm\cortex-m0\cpuport.c</PathWithFileName>
       <FilenameWithoutPath>cpuport.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>38</FileNumber>
+      <FileNumber>43</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -736,10 +877,12 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\libcpu\arm\cortex-m0\context_rvds.S</PathWithFileName>
       <FilenameWithoutPath>context_rvds.S</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>39</FileNumber>
+      <FileNumber>44</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -750,10 +893,12 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\libcpu\arm\common\backtrace.c</PathWithFileName>
       <FilenameWithoutPath>backtrace.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>40</FileNumber>
+      <FileNumber>45</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -764,10 +909,12 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\libcpu\arm\common\div0.c</PathWithFileName>
       <FilenameWithoutPath>div0.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
     <File>
       <GroupNumber>5</GroupNumber>
-      <FileNumber>41</FileNumber>
+      <FileNumber>46</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
@@ -778,6 +925,216 @@
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\libcpu\arm\common\showmem.c</PathWithFileName>
       <FilenameWithoutPath>showmem.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>DeviceDrivers</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>47</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\serial\serial.c</PathWithFileName>
+      <FilenameWithoutPath>serial.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>48</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\completion.c</PathWithFileName>
+      <FilenameWithoutPath>completion.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>49</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\dataqueue.c</PathWithFileName>
+      <FilenameWithoutPath>dataqueue.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>50</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\pipe.c</PathWithFileName>
+      <FilenameWithoutPath>pipe.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>51</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\portal.c</PathWithFileName>
+      <FilenameWithoutPath>portal.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>52</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\ringbuffer.c</PathWithFileName>
+      <FilenameWithoutPath>ringbuffer.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>6</GroupNumber>
+      <FileNumber>53</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\drivers\src\workqueue.c</PathWithFileName>
+      <FilenameWithoutPath>workqueue.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+  </Group>
+
+  <Group>
+    <GroupName>finsh</GroupName>
+    <tvExp>0</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>54</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\shell.c</PathWithFileName>
+      <FilenameWithoutPath>shell.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>55</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\symbol.c</PathWithFileName>
+      <FilenameWithoutPath>symbol.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>56</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\cmd.c</PathWithFileName>
+      <FilenameWithoutPath>cmd.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>57</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\msh_cmd.c</PathWithFileName>
+      <FilenameWithoutPath>msh_cmd.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>7</GroupNumber>
+      <FileNumber>58</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <Focus>0</Focus>
+      <ColumnNumber>0</ColumnNumber>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\..\components\finsh\msh.c</PathWithFileName>
+      <FilenameWithoutPath>msh.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
     </File>
   </Group>
 

+ 119 - 286
bsp/stm32f0x/project.uvproj

@@ -1,7 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
+
   <SchemaVersion>1.1</SchemaVersion>
+
   <Header>### uVision Project, (C) Keil Software</Header>
+
   <Targets>
     <Target>
       <TargetName>rt-thread</TargetName>
@@ -12,25 +15,25 @@
           <Device>STM32F051R8</Device>
           <Vendor>STMicroelectronics</Vendor>
           <Cpu>IRAM(0x20000000-0x20001FFF) IROM(0x8000000-0x800FFFF) CLOCK(8000000) CPUTYPE("Cortex-M0")</Cpu>
-          <FlashUtilSpec />
+          <FlashUtilSpec></FlashUtilSpec>
           <StartupFile>"Startup\ST\STM32F0xx\startup_stm32f0xx.s" ("STM32F0xx Startup Code")</StartupFile>
           <FlashDriverDll>UL2CM3(-O207 -S0 -C0 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F05x_64 -FS08000000 -FL010000)</FlashDriverDll>
           <DeviceId>6188</DeviceId>
           <RegisterFile>stm32f0xx.h</RegisterFile>
-          <MemoryEnv />
-          <Cmp />
-          <Asm />
-          <Linker />
-          <OHString />
-          <InfinionOptionDll />
-          <SLE66CMisc />
-          <SLE66AMisc />
-          <SLE66LinkerMisc />
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
           <SFDFile>SFD\ST\STM32F0xx\STM32F051xx.sfr</SFDFile>
           <UseEnv>0</UseEnv>
-          <BinPath />
-          <IncludePath />
-          <LibPath />
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
           <RegisterFilePath>ST\STM32F0xx\</RegisterFilePath>
           <DBRegisterFilePath>ST\STM32F0xx\</DBRegisterFilePath>
           <TargetStatus>
@@ -54,8 +57,8 @@
           <BeforeCompile>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name />
-            <UserProg2Name />
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <nStopU1X>0</nStopU1X>
@@ -64,21 +67,21 @@
           <BeforeMake>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name />
-            <UserProg2Name />
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
           </BeforeMake>
           <AfterMake>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name />
-            <UserProg2Name />
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
           </AfterMake>
           <SelectedForBatchBuild>0</SelectedForBatchBuild>
-          <SVCSIdString />
+          <SVCSIdString></SVCSIdString>
         </TargetCommonOption>
         <CommonProperty>
           <UseCPPCompiler>0</UseCPPCompiler>
@@ -92,16 +95,16 @@
           <AssembleAssemblyFile>0</AssembleAssemblyFile>
           <PublicsOnly>0</PublicsOnly>
           <StopOnExitCode>3</StopOnExitCode>
-          <CustomArgument />
-          <IncludeLibraryModules />
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
         </CommonProperty>
         <DllOption>
           <SimDllName>SARMCM3.DLL</SimDllName>
-          <SimDllArguments />
+          <SimDllArguments></SimDllArguments>
           <SimDlgDll>DARMCM1.DLL</SimDlgDll>
           <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
           <TargetDllName>SARMCM3.DLL</TargetDllName>
-          <TargetDllArguments />
+          <TargetDllArguments></TargetDllArguments>
           <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
           <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
         </DllOption>
@@ -133,22 +136,23 @@
             <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
             <RestoreFunctions>0</RestoreFunctions>
             <RestoreToolbox>1</RestoreToolbox>
+            <RestoreTracepoints>0</RestoreTracepoints>
           </Target>
           <RunDebugAfterBuild>0</RunDebugAfterBuild>
           <TargetSelection>13</TargetSelection>
           <SimDlls>
-            <CpuDll />
-            <CpuDllArguments />
-            <PeripheralDll />
-            <PeripheralDllArguments />
-            <InitializationFile />
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
           </SimDlls>
           <TargetDlls>
-            <CpuDll />
-            <CpuDllArguments />
-            <PeripheralDll />
-            <PeripheralDllArguments />
-            <InitializationFile />
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
             <Driver>STLink\ST-LINKIII-KEIL_SWO.dll</Driver>
           </TargetDlls>
         </DebugOption>
@@ -161,9 +165,10 @@
             <Capability>1</Capability>
             <DriverSelection>4104</DriverSelection>
           </Flash1>
+          <bUseTDR>0</bUseTDR>
           <Flash2>STLink\ST-LINKIII-KEIL_SWO.dll</Flash2>
           <Flash3>"" ()</Flash3>
-          <Flash4 />
+          <Flash4></Flash4>
         </Utilities>
         <TargetArmAds>
           <ArmAdsMisc>
@@ -195,7 +200,7 @@
             <RvctClst>0</RvctClst>
             <GenPPlst>0</GenPPlst>
             <AdsCpuType>"Cortex-M0"</AdsCpuType>
-            <RvctDeviceName />
+            <RvctDeviceName></RvctDeviceName>
             <mOS>0</mOS>
             <uocRom>0</uocRom>
             <uocRam>0</uocRam>
@@ -326,7 +331,7 @@
                 <Size>0x0</Size>
               </OCR_RVCT10>
             </OnChipMemories>
-            <RvctStartVector />
+            <RvctStartVector></RvctStartVector>
           </ArmAdsMisc>
           <Cads>
             <interw>1</interw>
@@ -341,11 +346,12 @@
             <Rwpi>0</Rwpi>
             <wLevel>0</wLevel>
             <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
             <VariousControls>
-              <MiscControls />
-              <Define>RT_USING_ARM_LIBC, USE_STDPERIPH_DRIVER</Define>
-              <Undefine />
-              <IncludePath>Libraries/STM32F0xx_StdPeriph_Driver/inc;Libraries/CMSIS/ST/STM32F0xx/Include;Libraries/CMSIS/Include;applications;.;drivers;../../include;../../libcpu/arm/cortex-m0;../../libcpu/arm/common;../../components/libc/armlibc;../../components/drivers/include;../../components/drivers/include;../../components/finsh</IncludePath>
+              <MiscControls></MiscControls>
+              <Define>USE_STDPERIPH_DRIVER</Define>
+              <Undefine></Undefine>
+              <IncludePath>Libraries\STM32F0xx_StdPeriph_Driver\inc;Libraries\CMSIS\ST\STM32F0xx\Include;Libraries\CMSIS\Include;applications;.;drivers;..\..\include;..\..\libcpu\arm\cortex-m0;..\..\libcpu\arm\common;..\..\components\drivers\include;..\..\components\drivers\include;..\..\components\finsh</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -356,11 +362,12 @@
             <SplitLS>0</SplitLS>
             <SwStkChk>0</SwStkChk>
             <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
             <VariousControls>
-              <MiscControls />
-              <Define />
-              <Undefine />
-              <IncludePath />
+              <MiscControls></MiscControls>
+              <Define></Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
             </VariousControls>
           </Aads>
           <LDads>
@@ -372,12 +379,12 @@
             <useFile>0</useFile>
             <TextAddressRange>0x08000000</TextAddressRange>
             <DataAddressRange>0x20000000</DataAddressRange>
-            <ScatterFile />
-            <IncludeLibs />
-            <IncludeLibsPath />
-            <Misc> --keep *.o(.rti_fn.*)   --keep *.o(FSymTab) --keep *.o(VSymTab) </Misc>
-            <LinkerInputFile />
-            <DisabledWarnings />
+            <ScatterFile></ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc> --keep *.o(.rti_fn.*)   --keep *.o(FSymTab)</Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
           </LDads>
         </TargetArmAds>
       </TargetOption>
@@ -388,161 +395,117 @@
             <File>
               <FileName>system_stm32f0xx.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/CMSIS/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c</FilePath>
+              <FilePath>Libraries\CMSIS\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_adc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_adc.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_adc.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_cec.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_cec.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_cec.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_comp.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_comp.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_comp.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_crc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_crc.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_crc.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_dac.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dac.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dac.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_dbgmcu.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dbgmcu.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dbgmcu.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_dma.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_dma.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dma.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_exti.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_exti.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_exti.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_flash.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_flash.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_flash.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_gpio.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_gpio.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_gpio.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_i2c.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_i2c.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_i2c.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_iwdg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_iwdg.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_iwdg.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_misc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_misc.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_misc.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_pwr.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_pwr.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_pwr.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_rcc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rcc.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rcc.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_rtc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_rtc.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rtc.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_spi.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_spi.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_spi.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_syscfg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_syscfg.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_syscfg.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_tim.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_tim.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_tim.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_usart.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_usart.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_wwdg.c</FileName>
               <FileType>1</FileType>
-              <FilePath>Libraries/STM32F0xx_StdPeriph_Driver/src/stm32f0xx_wwdg.c</FilePath>
+              <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_wwdg.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>startup_stm32f0xx.s</FileName>
               <FileType>2</FileType>
-              <FilePath>Libraries/CMSIS/ST/STM32F0xx/Source/Templates/arm/startup_stm32f0xx.s</FilePath>
+              <FilePath>Libraries\CMSIS\ST\STM32F0xx\Source\Templates\arm\startup_stm32f0xx.s</FilePath>
             </File>
           </Files>
         </Group>
@@ -552,14 +515,12 @@
             <File>
               <FileName>application.c</FileName>
               <FileType>1</FileType>
-              <FilePath>applications/application.c</FilePath>
+              <FilePath>applications\application.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>startup.c</FileName>
               <FileType>1</FileType>
-              <FilePath>applications/startup.c</FilePath>
+              <FilePath>applications\startup.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -569,28 +530,22 @@
             <File>
               <FileName>board.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers/board.c</FilePath>
+              <FilePath>drivers\board.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>led.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers/led.c</FilePath>
+              <FilePath>drivers\led.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>stm32f0xx_it.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers/stm32f0xx_it.c</FilePath>
+              <FilePath>drivers\stm32f0xx_it.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>usart.c</FileName>
               <FileType>1</FileType>
-              <FilePath>drivers/usart.c</FilePath>
+              <FilePath>drivers\usart.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -600,84 +555,62 @@
             <File>
               <FileName>clock.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/clock.c</FilePath>
+              <FilePath>..\..\src\clock.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>components.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/components.c</FilePath>
+              <FilePath>..\..\src\components.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>device.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/device.c</FilePath>
+              <FilePath>..\..\src\device.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>idle.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/idle.c</FilePath>
+              <FilePath>..\..\src\idle.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>ipc.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/ipc.c</FilePath>
+              <FilePath>..\..\src\ipc.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>irq.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/irq.c</FilePath>
+              <FilePath>..\..\src\irq.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>kservice.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/kservice.c</FilePath>
+              <FilePath>..\..\src\kservice.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>mem.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/mem.c</FilePath>
+              <FilePath>..\..\src\mem.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>object.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/object.c</FilePath>
+              <FilePath>..\..\src\object.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>scheduler.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/scheduler.c</FilePath>
+              <FilePath>..\..\src\scheduler.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>thread.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/thread.c</FilePath>
+              <FilePath>..\..\src\thread.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>timer.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../src/timer.c</FilePath>
+              <FilePath>..\..\src\timer.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -687,52 +620,27 @@
             <File>
               <FileName>cpuport.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../libcpu/arm/cortex-m0/cpuport.c</FilePath>
+              <FilePath>..\..\libcpu\arm\cortex-m0\cpuport.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>context_rvds.S</FileName>
               <FileType>2</FileType>
-              <FilePath>../../libcpu/arm/cortex-m0/context_rvds.S</FilePath>
+              <FilePath>..\..\libcpu\arm\cortex-m0\context_rvds.S</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>backtrace.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../libcpu/arm/common/backtrace.c</FilePath>
+              <FilePath>..\..\libcpu\arm\common\backtrace.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>div0.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../libcpu/arm/common/div0.c</FilePath>
+              <FilePath>..\..\libcpu\arm\common\div0.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>showmem.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../libcpu/arm/common/showmem.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>libc</GroupName>
-          <Files>
-            <File>
-              <FileName>mem_std.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/libc/armlibc/mem_std.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>stubs.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/libc/armlibc/stubs.c</FilePath>
+              <FilePath>..\..\libcpu\arm\common\showmem.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -742,49 +650,37 @@
             <File>
               <FileName>serial.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/drivers/serial/serial.c</FilePath>
+              <FilePath>..\..\components\drivers\serial\serial.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>completion.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/drivers/src/completion.c</FilePath>
+              <FilePath>..\..\components\drivers\src\completion.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>dataqueue.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/drivers/src/dataqueue.c</FilePath>
+              <FilePath>..\..\components\drivers\src\dataqueue.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>pipe.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/drivers/src/pipe.c</FilePath>
+              <FilePath>..\..\components\drivers\src\pipe.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>portal.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/drivers/src/portal.c</FilePath>
+              <FilePath>..\..\components\drivers\src\portal.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>ringbuffer.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/drivers/src/ringbuffer.c</FilePath>
+              <FilePath>..\..\components\drivers\src\ringbuffer.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>workqueue.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/drivers/src/workqueue.c</FilePath>
+              <FilePath>..\..\components\drivers\src\workqueue.c</FilePath>
             </File>
           </Files>
         </Group>
@@ -794,95 +690,32 @@
             <File>
               <FileName>shell.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/finsh/shell.c</FilePath>
+              <FilePath>..\..\components\finsh\shell.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>symbol.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/finsh/symbol.c</FilePath>
+              <FilePath>..\..\components\finsh\symbol.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
               <FileName>cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/finsh/cmd.c</FilePath>
+              <FilePath>..\..\components\finsh\cmd.c</FilePath>
             </File>
-          </Files>
-          <Files>
             <File>
-              <FileName>finsh_compiler.c</FileName>
+              <FileName>msh_cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_compiler.c</FilePath>
+              <FilePath>..\..\components\finsh\msh_cmd.c</FilePath>
             </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_error.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_error.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_heap.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_heap.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_init.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_init.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_node.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_node.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_ops.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_ops.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_parser.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_parser.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_var.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_var.c</FilePath>
-            </File>
-          </Files>
-          <Files>
-            <File>
-              <FileName>finsh_vm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_vm.c</FilePath>
-            </File>
-          </Files>
-          <Files>
             <File>
-              <FileName>finsh_token.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>../../components/finsh/finsh_token.c</FilePath>
+              <FilePath>..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
       </Groups>
     </Target>
   </Targets>
+
 </Project>

+ 200 - 179
bsp/stm32f0x/project.uvprojx

@@ -1,10 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
 <Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
-
   <SchemaVersion>2.1</SchemaVersion>
-
   <Header>### uVision Project, (C) Keil Software</Header>
-
   <Targets>
     <Target>
       <TargetName>rt-thread</TargetName>
@@ -17,26 +14,26 @@
           <PackID>Keil.STM32F0xx_DFP.1.2.0</PackID>
           <PackURL>http://www.keil.com/pack/</PackURL>
           <Cpu>IROM(0x08000000,0x10000) IRAM(0x20000000,0x2000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE</Cpu>
-          <FlashUtilSpec></FlashUtilSpec>
-          <StartupFile></StartupFile>
+          <FlashUtilSpec />
+          <StartupFile />
           <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32F051R8$Flash\STM32F0xx_64.FLM))</FlashDriverDll>
           <DeviceId>0</DeviceId>
           <RegisterFile>$$Device:STM32F051R8$Device\Include\stm32f0xx.h</RegisterFile>
-          <MemoryEnv></MemoryEnv>
-          <Cmp></Cmp>
-          <Asm></Asm>
-          <Linker></Linker>
-          <OHString></OHString>
-          <InfinionOptionDll></InfinionOptionDll>
-          <SLE66CMisc></SLE66CMisc>
-          <SLE66AMisc></SLE66AMisc>
-          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <MemoryEnv />
+          <Cmp />
+          <Asm />
+          <Linker />
+          <OHString />
+          <InfinionOptionDll />
+          <SLE66CMisc />
+          <SLE66AMisc />
+          <SLE66LinkerMisc />
           <SFDFile>$$Device:STM32F051R8$SVD\STM32F0xx.svd</SFDFile>
           <bCustSvd>0</bCustSvd>
           <UseEnv>0</UseEnv>
-          <BinPath></BinPath>
-          <IncludePath></IncludePath>
-          <LibPath></LibPath>
+          <BinPath />
+          <IncludePath />
+          <LibPath />
           <RegisterFilePath>ST\STM32F0xx\</RegisterFilePath>
           <DBRegisterFilePath>ST\STM32F0xx\</DBRegisterFilePath>
           <TargetStatus>
@@ -60,8 +57,8 @@
           <BeforeCompile>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
-            <UserProg2Name></UserProg2Name>
+            <UserProg1Name />
+            <UserProg2Name />
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
             <nStopU1X>0</nStopU1X>
@@ -70,23 +67,21 @@
           <BeforeMake>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
-            <UserProg2Name></UserProg2Name>
+            <UserProg1Name />
+            <UserProg2Name />
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
-            <nStopB1X>0</nStopB1X>
-            <nStopB2X>0</nStopB2X>
           </BeforeMake>
           <AfterMake>
             <RunUserProg1>0</RunUserProg1>
             <RunUserProg2>0</RunUserProg2>
-            <UserProg1Name></UserProg1Name>
-            <UserProg2Name></UserProg2Name>
+            <UserProg1Name />
+            <UserProg2Name />
             <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
             <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
           </AfterMake>
           <SelectedForBatchBuild>0</SelectedForBatchBuild>
-          <SVCSIdString></SVCSIdString>
+          <SVCSIdString />
         </TargetCommonOption>
         <CommonProperty>
           <UseCPPCompiler>0</UseCPPCompiler>
@@ -100,17 +95,16 @@
           <AssembleAssemblyFile>0</AssembleAssemblyFile>
           <PublicsOnly>0</PublicsOnly>
           <StopOnExitCode>3</StopOnExitCode>
-          <CustomArgument></CustomArgument>
-          <IncludeLibraryModules></IncludeLibraryModules>
-          <ComprImg>1</ComprImg>
+          <CustomArgument />
+          <IncludeLibraryModules />
         </CommonProperty>
         <DllOption>
           <SimDllName>SARMCM3.DLL</SimDllName>
-          <SimDllArguments></SimDllArguments>
+          <SimDllArguments />
           <SimDlgDll>DARMCM1.DLL</SimDlgDll>
           <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
           <TargetDllName>SARMCM3.DLL</TargetDllName>
-          <TargetDllArguments></TargetDllArguments>
+          <TargetDllArguments />
           <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
           <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
         </DllOption>
@@ -132,7 +126,6 @@
             <RestoreFunctions>1</RestoreFunctions>
             <RestoreToolbox>1</RestoreToolbox>
             <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
-            <RestoreSysVw>1</RestoreSysVw>
           </Simulator>
           <Target>
             <UseTarget>1</UseTarget>
@@ -143,24 +136,22 @@
             <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
             <RestoreFunctions>0</RestoreFunctions>
             <RestoreToolbox>1</RestoreToolbox>
-            <RestoreTracepoints>0</RestoreTracepoints>
-            <RestoreSysVw>1</RestoreSysVw>
           </Target>
           <RunDebugAfterBuild>0</RunDebugAfterBuild>
-          <TargetSelection>11</TargetSelection>
+          <TargetSelection>13</TargetSelection>
           <SimDlls>
-            <CpuDll></CpuDll>
-            <CpuDllArguments></CpuDllArguments>
-            <PeripheralDll></PeripheralDll>
-            <PeripheralDllArguments></PeripheralDllArguments>
-            <InitializationFile></InitializationFile>
+            <CpuDll />
+            <CpuDllArguments />
+            <PeripheralDll />
+            <PeripheralDllArguments />
+            <InitializationFile />
           </SimDlls>
           <TargetDlls>
-            <CpuDll></CpuDll>
-            <CpuDllArguments></CpuDllArguments>
-            <PeripheralDll></PeripheralDll>
-            <PeripheralDllArguments></PeripheralDllArguments>
-            <InitializationFile></InitializationFile>
+            <CpuDll />
+            <CpuDllArguments />
+            <PeripheralDll />
+            <PeripheralDllArguments />
+            <InitializationFile />
             <Driver>STLink\ST-LINKIII-KEIL_SWO.dll</Driver>
           </TargetDlls>
         </DebugOption>
@@ -173,14 +164,9 @@
             <Capability>1</Capability>
             <DriverSelection>4104</DriverSelection>
           </Flash1>
-          <bUseTDR>1</bUseTDR>
           <Flash2>STLink\ST-LINKIII-KEIL_SWO.dll</Flash2>
           <Flash3>"" ()</Flash3>
-          <Flash4></Flash4>
-          <pFcarmOut></pFcarmOut>
-          <pFcarmGrp></pFcarmGrp>
-          <pFcArmRoot></pFcArmRoot>
-          <FcArmLst>0</FcArmLst>
+          <Flash4 />
         </Utilities>
         <TargetArmAds>
           <ArmAdsMisc>
@@ -212,7 +198,7 @@
             <RvctClst>0</RvctClst>
             <GenPPlst>0</GenPPlst>
             <AdsCpuType>"Cortex-M0"</AdsCpuType>
-            <RvctDeviceName></RvctDeviceName>
+            <RvctDeviceName />
             <mOS>0</mOS>
             <uocRom>0</uocRom>
             <uocRam>0</uocRam>
@@ -343,7 +329,7 @@
                 <Size>0x0</Size>
               </OCR_RVCT10>
             </OnChipMemories>
-            <RvctStartVector></RvctStartVector>
+            <RvctStartVector />
           </ArmAdsMisc>
           <Cads>
             <interw>1</interw>
@@ -358,14 +344,11 @@
             <Rwpi>0</Rwpi>
             <wLevel>0</wLevel>
             <uThumb>0</uThumb>
-            <uSurpInc>0</uSurpInc>
-            <uC99>0</uC99>
-            <useXO>0</useXO>
             <VariousControls>
-              <MiscControls></MiscControls>
-              <Define>RT_USING_ARM_LIBC, USE_STDPERIPH_DRIVER</Define>
-              <Undefine></Undefine>
-              <IncludePath>.;..\..\components\drivers\include;..\..\components\finsh;..\..\components\init;..\..\components\libc\armlibc;..\..\include;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m0;Libraries\CMSIS\Include;Libraries\CMSIS\ST\STM32F0xx\Include;Libraries\STM32F0xx_StdPeriph_Driver\inc;applications;drivers</IncludePath>
+              <MiscControls />
+              <Define>USE_STDPERIPH_DRIVER</Define>
+              <Undefine />
+              <IncludePath>.;..\..\components\drivers\include;..\..\components\finsh;..\..\include;..\..\libcpu\arm\common;..\..\libcpu\arm\cortex-m0;Libraries\CMSIS\Include;Libraries\CMSIS\ST\STM32F0xx\Include;Libraries\STM32F0xx_StdPeriph_Driver\inc;applications;drivers</IncludePath>
             </VariousControls>
           </Cads>
           <Aads>
@@ -376,13 +359,11 @@
             <SplitLS>0</SplitLS>
             <SwStkChk>0</SwStkChk>
             <NoWarn>0</NoWarn>
-            <uSurpInc>0</uSurpInc>
-            <useXO>0</useXO>
             <VariousControls>
-              <MiscControls></MiscControls>
-              <Define></Define>
-              <Undefine></Undefine>
-              <IncludePath></IncludePath>
+              <MiscControls />
+              <Define />
+              <Undefine />
+              <IncludePath />
             </VariousControls>
           </Aads>
           <LDads>
@@ -394,57 +375,16 @@
             <useFile>0</useFile>
             <TextAddressRange>0x08000000</TextAddressRange>
             <DataAddressRange>0x20000000</DataAddressRange>
-            <pXoBase></pXoBase>
-            <ScatterFile></ScatterFile>
-            <IncludeLibs></IncludeLibs>
-            <IncludeLibsPath></IncludeLibsPath>
-            <Misc> --keep __fsym_* --keep __vsym_*   --keep __rt_init* </Misc>
-            <LinkerInputFile></LinkerInputFile>
-            <DisabledWarnings></DisabledWarnings>
+            <ScatterFile />
+            <IncludeLibs />
+            <IncludeLibsPath />
+            <Misc> --keep *.o(.rti_fn.*)   --keep *.o(FSymTab)</Misc>
+            <LinkerInputFile />
+            <DisabledWarnings />
           </LDads>
         </TargetArmAds>
       </TargetOption>
       <Groups>
-        <Group>
-          <GroupName>Applications</GroupName>
-          <Files>
-            <File>
-              <FileName>application.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>applications\application.c</FilePath>
-            </File>
-            <File>
-              <FileName>startup.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>applications\startup.c</FilePath>
-            </File>
-          </Files>
-        </Group>
-        <Group>
-          <GroupName>Drivers</GroupName>
-          <Files>
-            <File>
-              <FileName>board.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>drivers\board.c</FilePath>
-            </File>
-            <File>
-              <FileName>led.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>drivers\led.c</FilePath>
-            </File>
-            <File>
-              <FileName>stm32f0xx_it.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>drivers\stm32f0xx_it.c</FilePath>
-            </File>
-            <File>
-              <FileName>usart.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>drivers\usart.c</FilePath>
-            </File>
-          </Files>
-        </Group>
         <Group>
           <GroupName>STM32_StdPeriph</GroupName>
           <Files>
@@ -453,111 +393,155 @@
               <FileType>1</FileType>
               <FilePath>Libraries\CMSIS\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_adc.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_adc.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_cec.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_cec.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_comp.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_comp.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_crc.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_crc.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_dac.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dac.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_dbgmcu.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dbgmcu.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_dma.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_dma.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_exti.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_exti.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_flash.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_flash.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_gpio.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_gpio.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_i2c.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_i2c.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_iwdg.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_iwdg.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_misc.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_misc.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_pwr.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_pwr.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_rcc.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rcc.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_rtc.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_rtc.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_spi.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_spi.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_syscfg.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_syscfg.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_tim.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_tim.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_usart.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_usart.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>stm32f0xx_wwdg.c</FileName>
               <FileType>1</FileType>
               <FilePath>Libraries\STM32F0xx_StdPeriph_Driver\src\stm32f0xx_wwdg.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>startup_stm32f0xx.s</FileName>
               <FileType>2</FileType>
@@ -565,6 +549,54 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>Applications</GroupName>
+          <Files>
+            <File>
+              <FileName>application.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>applications\application.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>startup.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>applications\startup.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>Drivers</GroupName>
+          <Files>
+            <File>
+              <FileName>board.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>drivers\board.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>led.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>drivers\led.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>stm32f0xx_it.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>drivers\stm32f0xx_it.c</FilePath>
+            </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>usart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>drivers\usart.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>Kernel</GroupName>
           <Files>
@@ -573,51 +605,78 @@
               <FileType>1</FileType>
               <FilePath>..\..\src\clock.c</FilePath>
             </File>
+          </Files>
+          <Files>
+            <File>
+              <FileName>components.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\src\components.c</FilePath>
+            </File>
+          </Files>
+          <Files>
             <File>
               <FileName>device.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\device.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>idle.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\idle.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>ipc.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\ipc.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>irq.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\irq.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>kservice.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\kservice.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>mem.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\mem.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>object.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\object.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>scheduler.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\scheduler.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>thread.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\src\thread.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>timer.c</FileName>
               <FileType>1</FileType>
@@ -633,21 +692,29 @@
               <FileType>1</FileType>
               <FilePath>..\..\libcpu\arm\cortex-m0\cpuport.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>context_rvds.S</FileName>
               <FileType>2</FileType>
               <FilePath>..\..\libcpu\arm\cortex-m0\context_rvds.S</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>backtrace.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\libcpu\arm\common\backtrace.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>div0.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\libcpu\arm\common\div0.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>showmem.c</FileName>
               <FileType>1</FileType>
@@ -663,31 +730,43 @@
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\serial\serial.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>completion.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\src\completion.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>dataqueue.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\src\dataqueue.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>pipe.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\src\pipe.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>portal.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\src\portal.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>ringbuffer.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\drivers\src\ringbuffer.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>workqueue.c</FileName>
               <FileType>1</FileType>
@@ -703,95 +782,37 @@
               <FileType>1</FileType>
               <FilePath>..\..\components\finsh\shell.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>symbol.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\finsh\symbol.c</FilePath>
             </File>
+          </Files>
+          <Files>
             <File>
               <FileName>cmd.c</FileName>
               <FileType>1</FileType>
               <FilePath>..\..\components\finsh\cmd.c</FilePath>
             </File>
-            <File>
-              <FileName>finsh_compiler.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_compiler.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_error.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_error.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_heap.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_heap.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_init.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_init.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_node.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_node.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_ops.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_ops.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_parser.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_parser.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_var.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_var.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_vm.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_vm.c</FilePath>
-            </File>
-            <File>
-              <FileName>finsh_token.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\finsh\finsh_token.c</FilePath>
-            </File>
           </Files>
-        </Group>
-        <Group>
-          <GroupName>Components</GroupName>
           <Files>
             <File>
-              <FileName>components.c</FileName>
+              <FileName>msh_cmd.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\init\components.c</FilePath>
+              <FilePath>..\..\components\finsh\msh_cmd.c</FilePath>
             </File>
           </Files>
-        </Group>
-        <Group>
-          <GroupName>libc</GroupName>
           <Files>
             <File>
-              <FileName>mem_std.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\components\libc\armlibc\mem_std.c</FilePath>
-            </File>
-            <File>
-              <FileName>stubs.c</FileName>
+              <FileName>msh.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\components\libc\armlibc\stubs.c</FilePath>
+              <FilePath>..\..\components\finsh\msh.c</FilePath>
             </File>
           </Files>
         </Group>
       </Groups>
     </Target>
   </Targets>
-
 </Project>

+ 3 - 0
components/drivers/serial/serial.c

@@ -27,6 +27,8 @@
  *                             the size of ring buffer.
  * 2014-07-10     bernard      rewrite serial framework
  * 2014-12-31     bernard      use open_flag for poll_tx stream mode.
+ * 2015-05-19     Quintin      fix DMA tx mod tx_dma->activated flag !=RT_FALSE BUG 
+ *                             in open function.
  */
 
 #include <rthw.h>
@@ -302,6 +304,7 @@ static rt_err_t rt_serial_open(struct rt_device *dev, rt_uint16_t oflag)
 
             tx_dma = (struct rt_serial_tx_dma*) rt_malloc (sizeof(struct rt_serial_tx_dma));
             RT_ASSERT(tx_dma != RT_NULL);
+            tx_dma->activated = RT_FALSE;
             
             rt_data_queue_init(&(tx_dma->data_queue), 8, 4, RT_NULL);
             serial->serial_tx = tx_dma;

+ 6 - 0
components/drivers/spi/spi_flash_w25qxx.c

@@ -34,6 +34,7 @@
 #define GD_ID           (0xC8)
 
 /* JEDEC Device ID: Memory type and Capacity */
+#define MTC_W25Q80_BV         (0x4014) /* W25Q80BV */
 #define MTC_W25Q16_BV_CL_CV   (0x4015) /* W25Q16BV W25Q16CL W25Q16CV  */
 #define MTC_W25Q16_DW         (0x6015) /* W25Q16DW  */
 #define MTC_W25Q32_BV         (0x4016) /* W25Q32BV */
@@ -349,6 +350,11 @@ rt_err_t w25qxx_init(const char * flash_device_name, const char * spi_device_nam
             FLASH_TRACE("W25Q16DW detection\r\n");
             spi_flash_device.geometry.sector_count = 512;
         }
+        else if(memory_type_capacity == MTC_W25Q80_BV)
+        {
+            FLASH_TRACE("W25Q80BV detection\r\n");
+            spi_flash_device.geometry.sector_count = 256;
+        }
         else
         {
             FLASH_TRACE("Memory Capacity error!\r\n");

+ 29 - 1
components/finsh/msh_cmd.c

@@ -1,7 +1,7 @@
 /*
  *  internal commands for RT-Thread module shell
  *
- * COPYRIGHT (C) 2013, Shanghai Real-Thread Technology Co., Ltd
+ * COPYRIGHT (C) 2013-2015, Shanghai Real-Thread Technology Co., Ltd
  *
  *  This file is part of RT-Thread (http://www.rt-thread.org)
  *  Maintainer: bernard.xiong <bernard.xiong at gmail.com>
@@ -25,6 +25,7 @@
  * Change Logs:
  * Date           Author       Notes
  * 2013-03-30     Bernard      the first verion for FinSH
+ * 2015-08-28     Bernard      Add mkfs command.
  */
 
 #include <rtthread.h>
@@ -219,6 +220,33 @@ int cmd_mkdir(int argc, char** argv)
 }
 FINSH_FUNCTION_EXPORT_ALIAS(cmd_mkdir, __cmd_mkdir, Create the DIRECTORY.);
 
+int cmd_mkfs(int argc, char** argv)
+{
+    int result = 0;
+    char* type="elm"; /* use the default file system type as 'fatfs' */
+
+    if (argc == 2)
+    {
+        result = dfs_mkfs(type, argv[1]);
+    }
+    else if (argc == 4)
+    {
+        if (strcmp(argv[1], "-t") == 0)
+        {
+            type = argv[2];
+            result = dfs_mkfs(type, argv[1]);
+        }
+    }
+    else
+    {
+        rt_kprintf("Usage: mkfs [-t type] device\n");
+        return 0;
+    }
+
+    return 0;
+}
+FINSH_FUNCTION_EXPORT_ALIAS(cmd_mkfs, __cmd_mkfs, format disk with file system);
+
 #endif
 
 #ifdef RT_USING_LWIP