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")