diff --git a/bsp/mb9bf500r/CMSIS/SConscript b/bsp/mb9bf500r/CMSIS/SConscript
new file mode 100644
index 0000000000..05e39c54d8
--- /dev/null
+++ b/bsp/mb9bf500r/CMSIS/SConscript
@@ -0,0 +1,19 @@
+Import('RTT_ROOT')
+Import('rtconfig')
+from building import *
+
+src = Glob('*.c')
+
+# add for startup script
+if rtconfig.CROSS_TOOL == 'gcc':
+ src = src + ['start_gcc.S']
+elif rtconfig.CROSS_TOOL == 'keil':
+ src = src + ['start_rvds.S']
+elif rtconfig.CROSS_TOOL == 'iar':
+ src = src + ['start_iar.S']
+
+CPPPATH = [GetCurrentDir()]
+
+group = DefineGroup('CMSIS', src, depend = [''], CPPPATH = CPPPATH, LIBRARY = '')
+
+Return('group')
diff --git a/bsp/fm3/CMSIS/core_cm3.c b/bsp/mb9bf500r/CMSIS/core_cm3.c
similarity index 100%
rename from bsp/fm3/CMSIS/core_cm3.c
rename to bsp/mb9bf500r/CMSIS/core_cm3.c
diff --git a/bsp/fm3/CMSIS/core_cm3.h b/bsp/mb9bf500r/CMSIS/core_cm3.h
similarity index 100%
rename from bsp/fm3/CMSIS/core_cm3.h
rename to bsp/mb9bf500r/CMSIS/core_cm3.h
diff --git a/bsp/fm3/CMSIS/core_cmFunc.h b/bsp/mb9bf500r/CMSIS/core_cmFunc.h
similarity index 100%
rename from bsp/fm3/CMSIS/core_cmFunc.h
rename to bsp/mb9bf500r/CMSIS/core_cmFunc.h
diff --git a/bsp/fm3/CMSIS/core_cmInstr.h b/bsp/mb9bf500r/CMSIS/core_cmInstr.h
similarity index 100%
rename from bsp/fm3/CMSIS/core_cmInstr.h
rename to bsp/mb9bf500r/CMSIS/core_cmInstr.h
diff --git a/bsp/fm3/CMSIS/mb9bf506r.h b/bsp/mb9bf500r/CMSIS/mb9bf506r.h
similarity index 100%
rename from bsp/fm3/CMSIS/mb9bf506r.h
rename to bsp/mb9bf500r/CMSIS/mb9bf506r.h
diff --git a/bsp/fm3/CMSIS/start_gcc.S b/bsp/mb9bf500r/CMSIS/start_gcc.S
similarity index 100%
rename from bsp/fm3/CMSIS/start_gcc.S
rename to bsp/mb9bf500r/CMSIS/start_gcc.S
diff --git a/bsp/fm3/CMSIS/start_iar.S b/bsp/mb9bf500r/CMSIS/start_iar.S
similarity index 100%
rename from bsp/fm3/CMSIS/start_iar.S
rename to bsp/mb9bf500r/CMSIS/start_iar.S
diff --git a/bsp/fm3/CMSIS/start_rvds.S b/bsp/mb9bf500r/CMSIS/start_rvds.S
similarity index 100%
rename from bsp/fm3/CMSIS/start_rvds.S
rename to bsp/mb9bf500r/CMSIS/start_rvds.S
diff --git a/bsp/fm3/CMSIS/system_mb9bf50x.c b/bsp/mb9bf500r/CMSIS/system_mb9bf50x.c
similarity index 100%
rename from bsp/fm3/CMSIS/system_mb9bf50x.c
rename to bsp/mb9bf500r/CMSIS/system_mb9bf50x.c
diff --git a/bsp/fm3/CMSIS/system_mb9bf50x.h b/bsp/mb9bf500r/CMSIS/system_mb9bf50x.h
similarity index 100%
rename from bsp/fm3/CMSIS/system_mb9bf50x.h
rename to bsp/mb9bf500r/CMSIS/system_mb9bf50x.h
diff --git a/bsp/fm3/mb9bf500r/SConscript b/bsp/mb9bf500r/SConscript
similarity index 100%
rename from bsp/fm3/mb9bf500r/SConscript
rename to bsp/mb9bf500r/SConscript
diff --git a/bsp/fm3/mb9bf500r/SConstruct b/bsp/mb9bf500r/SConstruct
similarity index 82%
rename from bsp/fm3/mb9bf500r/SConstruct
rename to bsp/mb9bf500r/SConstruct
index 5289674c12..b297c2cd74 100644
--- a/bsp/fm3/mb9bf500r/SConstruct
+++ b/bsp/mb9bf500r/SConstruct
@@ -5,7 +5,7 @@ import rtconfig
if os.getenv('RTT_ROOT'):
RTT_ROOT = os.getenv('RTT_ROOT')
else:
- RTT_ROOT = os.path.normpath(os.getcwd() + '/../../..')
+ RTT_ROOT = os.path.normpath(os.getcwd() + '/../..')
sys.path = sys.path + [os.path.join(RTT_ROOT, 'tools')]
from building import *
@@ -30,7 +30,7 @@ Export('rtconfig')
# prepare building environment
objs = PrepareBuilding(env, RTT_ROOT)
-objs = objs + SConscript('../CMSIS/SConscript', variant_dir='build/bsp/Libraries', duplicate=0)
+objs = objs + SConscript('CMSIS/SConscript', variant_dir='build/bsp/CMSIS', duplicate=0)
# build program
env.Program(TARGET, objs)
diff --git a/bsp/fm3/mb9bf500r/adc.c b/bsp/mb9bf500r/adc.c
similarity index 100%
rename from bsp/fm3/mb9bf500r/adc.c
rename to bsp/mb9bf500r/adc.c
diff --git a/bsp/fm3/mb9bf500r/adc.h b/bsp/mb9bf500r/adc.h
similarity index 100%
rename from bsp/fm3/mb9bf500r/adc.h
rename to bsp/mb9bf500r/adc.h
diff --git a/bsp/fm3/mb9bf500r/application.c b/bsp/mb9bf500r/application.c
similarity index 100%
rename from bsp/fm3/mb9bf500r/application.c
rename to bsp/mb9bf500r/application.c
diff --git a/bsp/fm3/mb9bf500r/board.c b/bsp/mb9bf500r/board.c
similarity index 100%
rename from bsp/fm3/mb9bf500r/board.c
rename to bsp/mb9bf500r/board.c
diff --git a/bsp/fm3/mb9bf500r/board.h b/bsp/mb9bf500r/board.h
similarity index 100%
rename from bsp/fm3/mb9bf500r/board.h
rename to bsp/mb9bf500r/board.h
diff --git a/bsp/fm3/mb9bf500r/cpuusage.c b/bsp/mb9bf500r/cpuusage.c
similarity index 100%
rename from bsp/fm3/mb9bf500r/cpuusage.c
rename to bsp/mb9bf500r/cpuusage.c
diff --git a/bsp/fm3/mb9bf500r/cpuusage.h b/bsp/mb9bf500r/cpuusage.h
similarity index 100%
rename from bsp/fm3/mb9bf500r/cpuusage.h
rename to bsp/mb9bf500r/cpuusage.h
diff --git a/bsp/fm3/mb9bf500r/fm3_easy_kit.ewp b/bsp/mb9bf500r/fm3_easy_kit.ewp
similarity index 86%
rename from bsp/fm3/mb9bf500r/fm3_easy_kit.ewp
rename to bsp/mb9bf500r/fm3_easy_kit.ewp
index b769dd1877..413df3c022 100644
--- a/bsp/fm3/mb9bf500r/fm3_easy_kit.ewp
+++ b/bsp/mb9bf500r/fm3_easy_kit.ewp
@@ -286,9 +286,9 @@