diff --git a/bsp/lpc176x/project.ewp b/bsp/lpc176x/project.ewp
new file mode 100644
index 000000000..588b9355c
--- /dev/null
+++ b/bsp/lpc176x/project.ewp
@@ -0,0 +1,2028 @@
+
+ 2
+
+ Debug
+
+ ARM
+
+ 1
+
+ General
+ 3
+
+ 18
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 26
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 8
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 11
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ General
+ 3
+
+ 18
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 26
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 8
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 11
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Startup
+
+ $PROJ_DIR$\.\application.c
+
+
+ $PROJ_DIR$\.\startup.c
+
+
+ $PROJ_DIR$\.\board.c
+
+
+ $PROJ_DIR$\.\uart.c
+
+
+ $PROJ_DIR$\.\led.c
+
+
+ $PROJ_DIR$\.\sd.c
+
+
+ $PROJ_DIR$\.\spi.c
+
+
+ $PROJ_DIR$\.\emac.c
+
+
+ $PROJ_DIR$\CMSIS\CM3\CoreSupport\core_cm3.c
+
+
+ $PROJ_DIR$\CMSIS\CM3\DeviceSupport\NXP\LPC17xx\system_LPC17xx.c
+
+
+
+ Kernel
+
+ $PROJ_DIR$\..\..\src\clock.c
+
+
+ $PROJ_DIR$\..\..\src\device.c
+
+
+ $PROJ_DIR$\..\..\src\idle.c
+
+
+ $PROJ_DIR$\..\..\src\ipc.c
+
+
+ $PROJ_DIR$\..\..\src\irq.c
+
+
+ $PROJ_DIR$\..\..\src\kservice.c
+
+
+ $PROJ_DIR$\..\..\src\mem.c
+
+
+ $PROJ_DIR$\..\..\src\mempool.c
+
+
+ $PROJ_DIR$\..\..\src\module.c
+
+
+ $PROJ_DIR$\..\..\src\object.c
+
+
+ $PROJ_DIR$\..\..\src\rtm.c
+
+
+ $PROJ_DIR$\..\..\src\scheduler.c
+
+
+ $PROJ_DIR$\..\..\src\slab.c
+
+
+ $PROJ_DIR$\..\..\src\thread.c
+
+
+ $PROJ_DIR$\..\..\src\timer.c
+
+
+
+ LPC17XX
+
+ $PROJ_DIR$\..\..\libcpu\arm\lpc17xx\cpu.c
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\lpc17xx\fault.c
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\lpc17xx\interrupt.c
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\lpc17xx\stack.c
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\lpc17xx\context_iar.S
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\lpc17xx\fault_iar.S
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\lpc17xx\start_iar.S
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\common\backtrace.c
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\common\div0.c
+
+
+ $PROJ_DIR$\..\..\libcpu\arm\common\showmem.c
+
+
+
+ Filesystem
+
+ $PROJ_DIR$\..\..\components\dfs\src\dfs.c
+
+
+ $PROJ_DIR$\..\..\components\dfs\src\dfs_fs.c
+
+
+ $PROJ_DIR$\..\..\components\dfs\src\dfs_file.c
+
+
+ $PROJ_DIR$\..\..\components\dfs\src\dfs_posix.c
+
+
+ $PROJ_DIR$\..\..\components\dfs\filesystems\elmfat\dfs_elm.c
+
+
+ $PROJ_DIR$\..\..\components\dfs\filesystems\elmfat\ff.c
+
+
+
+ finsh
+
+ $PROJ_DIR$\..\..\components\finsh\cmd.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_compiler.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_error.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_heap.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_init.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_node.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_ops.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_parser.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_token.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_var.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\finsh_vm.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\shell.c
+
+
+ $PROJ_DIR$\..\..\components\finsh\symbol.c
+
+
+
+ LwIP
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\api\api_lib.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\api\api_msg.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\api\err.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\api\netbuf.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\api\netdb.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\api\netifapi.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\api\sockets.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\api\tcpip.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\arch\sys_arch.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\arch\sys_arch_init.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\dhcp.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\dns.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\init.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\memp.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\netif.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\pbuf.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\raw.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\stats.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\sys.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp_in.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\tcp_out.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\udp.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\autoip.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\icmp.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\igmp.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\inet.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\inet_chksum.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\ip.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\ip_addr.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\core\ipv4\ip_frag.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\netif\etharp.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\netif\ethernetif.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\netif\loopif.c
+
+
+ $PROJ_DIR$\..\..\components\net\lwip\src\netif\slipif.c
+
+
+
diff --git a/bsp/lpc176x/project.eww b/bsp/lpc176x/project.eww
new file mode 100644
index 000000000..faa93f37c
--- /dev/null
+++ b/bsp/lpc176x/project.eww
@@ -0,0 +1,10 @@
+
+
+
+
+ $WS_DIR$\project.ewp
+
+
+
+
+
diff --git a/bsp/lpc176x/rtconfig.py b/bsp/lpc176x/rtconfig.py
index 555ee58bb..678522f92 100644
--- a/bsp/lpc176x/rtconfig.py
+++ b/bsp/lpc176x/rtconfig.py
@@ -9,6 +9,9 @@ if CROSS_TOOL == 'gcc':
elif CROSS_TOOL == 'keil':
PLATFORM = 'armcc'
EXEC_PATH = 'E:/Keil'
+elif CROSS_TOOL == 'iar':
+ PLATFORM = 'iar'
+ EXEC_PATH = 'E:/Program Files/IAR Systems/Embedded Workbench 6.0/arm/bin'
BUILD = 'debug'
if PLATFORM == 'gcc':
diff --git a/bsp/lpc176x/startup.c b/bsp/lpc176x/startup.c
index b517e64ec..212c84d46 100644
--- a/bsp/lpc176x/startup.c
+++ b/bsp/lpc176x/startup.c
@@ -129,10 +129,8 @@ void rtthread_startup(void)
int main(void)
{
- rt_uint32_t UNUSED level;
-
/* disable interrupt first */
- level = rt_hw_interrupt_disable();
+ rt_hw_interrupt_disable();
/* init system setting */
SystemInit();
diff --git a/bsp/lpc176x/template.ewp b/bsp/lpc176x/template.ewp
new file mode 100644
index 000000000..6c0a5e60e
--- /dev/null
+++ b/bsp/lpc176x/template.ewp
@@ -0,0 +1,1719 @@
+
+
+
+ 2
+
+ Debug
+
+ ARM
+
+ 1
+
+ General
+ 3
+
+ 18
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 26
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 8
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 1
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 11
+ 1
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 1
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+ Release
+
+ ARM
+
+ 0
+
+ General
+ 3
+
+ 18
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ICCARM
+ 2
+
+ 26
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ AARM
+ 2
+
+ 8
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ OBJCOPY
+ 0
+
+ 1
+ 1
+ 0
+
+
+
+
+
+
+
+
+ CUSTOM
+ 3
+
+
+
+
+
+
+ BICOMP
+ 0
+
+
+
+ BUILDACTION
+ 1
+
+
+
+
+
+
+ ILINK
+ 0
+
+ 11
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ IARCHIVE
+ 0
+
+ 0
+ 1
+ 0
+
+
+
+
+
+
+ BILINK
+ 0
+
+
+
+
+
+