diff --git a/bsp/lpc178x/CMSIS/SConscript b/bsp/lpc178x/CMSIS/SConscript
index 5dc154e88e..0eacdbe82c 100644
--- a/bsp/lpc178x/CMSIS/SConscript
+++ b/bsp/lpc178x/CMSIS/SConscript
@@ -7,6 +7,14 @@ src = Glob('*.c')
src = ['CM3/CoreSupport/core_cm3.c', 'CM3/DeviceSupport/NXP/LPC177x_8x/system_LPC177x_8x.c']
CPPPATH = [cwd + '/CM3/CoreSupport', cwd + '/CM3/DeviceSupport/NXP/LPC177x_8x/']
+# add for startup script
+if rtconfig.CROSS_TOOL == 'gcc':
+ src += ['CM3/DeviceSupport/NXP/LPC177x_8x/startup/gcc/startup_LPC177x_8x.s']
+elif rtconfig.CROSS_TOOL == 'keil':
+ src += ['CM3/DeviceSupport/NXP/LPC177x_8x/startup/arm/startup_LPC177x_8x.s']
+elif rtconfig.CROSS_TOOL == 'iar':
+ src += ['CM3/DeviceSupport/NXP/LPC177x_8x/startup/iar/startup_LPC177x_8x.s']
+
group = DefineGroup('CMSIS', src, depend = [''], CPPPATH = CPPPATH)
Return('group')
diff --git a/bsp/lpc178x/SConscript b/bsp/lpc178x/SConscript
index 255e234b2a..1bb1701d1f 100644
--- a/bsp/lpc178x/SConscript
+++ b/bsp/lpc178x/SConscript
@@ -2,16 +2,9 @@ import rtconfig
Import('RTT_ROOT')
from building import *
-src_bsp = ['application.c', 'startup.c', 'board.c']
-src_drv = ['uart.c', 'led.c']
+src_bsp = ['application.c', 'startup.c']
-if GetDepend('RT_USING_DFS'):
- src_drv += ['sd.c', 'spi.c']
-
-if GetDepend('RT_USING_LWIP'):
- src_drv += ['emac.c']
-
-src = File(src_bsp + src_drv)
+src = File(src_bsp)
CPPPATH = [ GetCurrentDir() ]
CPPDEFINES = []
group = DefineGroup('Startup', src, depend = [''], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
diff --git a/bsp/lpc178x/project.uvproj b/bsp/lpc178x/project.uvproj
index 73068db4af..4c986e40d8 100644
--- a/bsp/lpc178x/project.uvproj
+++ b/bsp/lpc178x/project.uvproj
@@ -158,7 +158,7 @@
1
0
0
- 0
+ 1
1
4099
@@ -346,7 +346,7 @@
- CMSIS\CM3\DeviceSupport\NXP\LPC177x_8x;.;..\..\libcpu\arm\lpc17xx;..\..\include;..\..\libcpu\arm\common;CMSIS\CM3\CoreSupport;..\..\components\finsh
+ CMSIS\CM3\DeviceSupport\NXP\LPC177x_8x;drivers;.;..\..\libcpu\arm\lpc17xx;..\..\include;..\..\libcpu\arm\common;CMSIS\CM3\CoreSupport;..\..\components\finsh
@@ -385,60 +385,6 @@
Startup
-
-
- 0
- 0
- 0
- 0
- 0
- 2
- 2
- 2
- 2
- 2
- 11
-
-
-
-
-
- 2
- 0
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 2
- 0
- 2
-
-
-
-
- .\drivers
-
-
-
- 2
- 2
- 2
- 2
- 2
- 2
- 2
-
-
-
-
-
-
-
-
-
application.c
@@ -521,35 +467,15 @@
LPC17XX
- cpu.c
+ cpuport.c
1
- ..\..\libcpu\arm\lpc17xx\cpu.c
-
-
- fault.c
- 1
- ..\..\libcpu\arm\lpc17xx\fault.c
-
-
- interrupt.c
- 1
- ..\..\libcpu\arm\lpc17xx\interrupt.c
-
-
- stack.c
- 1
- ..\..\libcpu\arm\lpc17xx\stack.c
+ ..\..\libcpu\arm\lpc17xx\cpuport.c
context_rvds.S
2
..\..\libcpu\arm\lpc17xx\context_rvds.S
-
- fault_rvds.S
- 2
- ..\..\libcpu\arm\lpc17xx\fault_rvds.S
-
backtrace.c
1
@@ -653,37 +579,37 @@
startup_LPC177x_8x.s
2
- .\CMSIS\CM3\DeviceSupport\NXP\LPC177x_8x\startup\arm\startup_LPC177x_8x.s
+ CMSIS\CM3\DeviceSupport\NXP\LPC177x_8x\startup\arm\startup_LPC177x_8x.s
- driver
+ Drivers
- lpc177x_8x_uart.c
+ board.c
1
- .\drivers\lpc177x_8x_uart.c
+ drivers\board.c
lpc177x_8x_clkpwr.c
1
- .\drivers\lpc177x_8x_clkpwr.c
-
-
- uart.c
- 1
- .\drivers\uart.c
+ drivers\lpc177x_8x_clkpwr.c
lpc177x_8x_pinsel.c
1
- .\drivers\lpc177x_8x_pinsel.c
+ drivers\lpc177x_8x_pinsel.c
- board.c
+ lpc177x_8x_uart.c
1
- .\drivers\board.c
+ drivers\lpc177x_8x_uart.c
+
+
+ uart.c
+ 1
+ drivers\uart.c