diff --git a/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_ARM/HAL_CM4.c b/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_ARM/HAL_CM4.c
similarity index 100%
rename from libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_ARM/HAL_CM4.c
rename to libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_ARM/HAL_CM4.c
diff --git a/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_ARM/SVC_Table.S b/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_ARM/SVC_Table.S
similarity index 100%
rename from libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_ARM/SVC_Table.S
rename to libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_ARM/SVC_Table.S
diff --git a/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_GCC/HAL_CM4.S b/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_GCC/HAL_CM4.S
similarity index 100%
rename from libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_GCC/HAL_CM4.S
rename to libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_GCC/HAL_CM4.S
diff --git a/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_GCC/SVC_Table.S b/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_GCC/SVC_Table.S
similarity index 100%
rename from libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_GCC/SVC_Table.S
rename to libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_GCC/SVC_Table.S
diff --git a/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_IAR/HAL_CM4.S b/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/HAL_CM4.S
similarity index 100%
rename from libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_IAR/HAL_CM4.S
rename to libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/HAL_CM4.S
diff --git a/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_IAR/SVC_Table.S b/libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/SVC_Table.S
similarity index 100%
rename from libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_M4/TOOLCHAIN_IAR/SVC_Table.S
rename to libraries/rtos/rtx/TARGET_CORTEX_M/TARGET_RTOS_M4_M7/TOOLCHAIN_IAR/SVC_Table.S
diff --git a/libraries/rtos/rtx/TARGET_CORTEX_M/rt_CMSIS.c b/libraries/rtos/rtx/TARGET_CORTEX_M/rt_CMSIS.c
index 3c05b4ed34..a747caf31a 100644
--- a/libraries/rtos/rtx/TARGET_CORTEX_M/rt_CMSIS.c
+++ b/libraries/rtos/rtx/TARGET_CORTEX_M/rt_CMSIS.c
@@ -36,6 +36,8 @@
#if defined (__CORTEX_M4) || defined (__CORTEX_M4F)
#include "core_cm4.h"
+#elif defined (__CORTEX_M7) || defined (__CORTEX_M7F)
+ #include "core_cm7.h"
#elif defined (__CORTEX_M3)
#include "core_cm3.h"
#elif defined (__CORTEX_M0)
diff --git a/workspace_tools/export/uvision4.py b/workspace_tools/export/uvision4.py
index cb40cc5973..f677a8c410 100644
--- a/workspace_tools/export/uvision4.py
+++ b/workspace_tools/export/uvision4.py
@@ -122,7 +122,6 @@ class Uvision4(Exporter):
'DISCO_F334C8',
'DISCO_F429ZI',
'DISCO_F469NI',
- 'DISCO_F746NG',
'DISCO_L053C8',
'DISCO_L476VG',
'B96B_F446VE',
diff --git a/workspace_tools/export/uvision4_disco_f746ng.uvproj.tmpl b/workspace_tools/export/uvision4_disco_f746ng.uvproj.tmpl
index 22e2587e84..8b7167b049 100644
--- a/workspace_tools/export/uvision4_disco_f746ng.uvproj.tmpl
+++ b/workspace_tools/export/uvision4_disco_f746ng.uvproj.tmpl
@@ -226,7 +226,7 @@
0
0
8
- 1
+ 0
0
0
3
@@ -390,7 +390,7 @@
- 1
+ 0
0
0
0
diff --git a/workspace_tools/targets.py b/workspace_tools/targets.py
index deec5e70cc..286e8a8f04 100755
--- a/workspace_tools/targets.py
+++ b/workspace_tools/targets.py
@@ -21,10 +21,10 @@ CORE_LABELS = {
"Cortex-M0+": ["M0P", "CORTEX_M"],
"Cortex-M1" : ["M1", "CORTEX_M"],
"Cortex-M3" : ["M3", "CORTEX_M"],
- "Cortex-M4" : ["M4", "CORTEX_M"],
- "Cortex-M4F" : ["M4", "CORTEX_M"],
- "Cortex-M7" : ["M7", "CORTEX_M"],
- "Cortex-M7F" : ["M7", "CORTEX_M"],
+ "Cortex-M4" : ["M4", "CORTEX_M", "RTOS_M4_M7"],
+ "Cortex-M4F" : ["M4", "CORTEX_M", "RTOS_M4_M7"],
+ "Cortex-M7" : ["M7", "CORTEX_M", "RTOS_M4_M7"],
+ "Cortex-M7F" : ["M7", "CORTEX_M", "RTOS_M4_M7"],
"Cortex-A9" : ["A9", "CORTEX_A"]
}
@@ -906,10 +906,9 @@ class DISCO_L053C8(Target):
class DISCO_F746NG(Target):
def __init__(self):
Target.__init__(self)
- self.core = "Cortex-M7"
+ self.core = "Cortex-M7F"
self.extra_labels = ['STM', 'STM32F7', 'STM32F746', 'STM32F746NG']
self.supported_toolchains = ["ARM", "uARM", "IAR", "GCC_ARM"]
- self.default_toolchain = "uARM"
self.detect_code = ["0815"]
self.progen_target ='disco-f746ng'
diff --git a/workspace_tools/toolchains/gcc.py b/workspace_tools/toolchains/gcc.py
index 21d2147219..f746a19732 100644
--- a/workspace_tools/toolchains/gcc.py
+++ b/workspace_tools/toolchains/gcc.py
@@ -37,6 +37,8 @@ class GCC(mbedToolchain):
cpu = "cortex-m0plus"
elif target.core == "Cortex-M4F":
cpu = "cortex-m4"
+ elif target.core == "Cortex-M7F":
+ cpu = "cortex-m7"
else:
cpu = target.core.lower()
@@ -47,6 +49,9 @@ class GCC(mbedToolchain):
if target.core == "Cortex-M4F":
self.cpu.append("-mfpu=fpv4-sp-d16")
self.cpu.append("-mfloat-abi=softfp")
+ elif target.core == "Cortex-M7F":
+ self.cpu.append("-mfpu=fpv5-d16")
+ self.cpu.append("-mfloat-abi=softfp")
if target.core == "Cortex-A9":
self.cpu.append("-mthumb-interwork")