Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: toolchains/gcc.py
- Revision:
- 40:7d3fa6b99b2b
- Parent:
- 36:96847d42f010
- Child:
- 43:2a7da56ebd24
--- a/toolchains/gcc.py Wed Jul 19 16:44:30 2017 -0500
+++ b/toolchains/gcc.py Tue Oct 10 16:56:30 2017 -0500
@@ -56,6 +56,10 @@
cpu = "cortex-m7"
elif target.core == "Cortex-M7FD":
cpu = "cortex-m7"
+ elif target.core == "Cortex-M23-NS":
+ cpu = "cortex-m23"
+ elif target.core == "Cortex-M33-NS":
+ cpu = "cortex-m33"
else:
cpu = target.core.lower()
@@ -82,6 +86,14 @@
self.cpu.append("-mfloat-abi=hard")
self.cpu.append("-mno-unaligned-access")
+ if target.core.startswith("Cortex-M23"):
+ self.cpu.append("-march=armv8-m.base")
+ elif target.core.startswith("Cortex-M33"):
+ self.cpu.append("-march=armv8-m.main")
+
+ if target.core == "Cortex-M23" or target.core == "Cortex-M33":
+ self.cpu.append("-mcmse")
+
self.flags["common"] += self.cpu
main_cc = join(tool_path, "arm-none-eabi-gcc")
@@ -100,27 +112,6 @@
self.ar = join(tool_path, "arm-none-eabi-ar")
self.elf2bin = join(tool_path, "arm-none-eabi-objcopy")
- def parse_dependencies(self, dep_path):
- dependencies = []
- buff = open(dep_path).readlines()
- buff[0] = re.sub('^(.*?)\: ', '', buff[0])
- for line in buff:
- file = line.replace('\\\n', '').strip()
- if file:
- # GCC might list more than one dependency on a single line, in this case
- # the dependencies are separated by a space. However, a space might also
- # indicate an actual space character in a dependency path, but in this case
- # the space character is prefixed by a backslash.
- # Temporary replace all '\ ' with a special char that is not used (\a in this
- # case) to keep them from being interpreted by 'split' (they will be converted
- # back later to a space char)
- file = file.replace('\\ ', '\a')
- if file.find(" ") == -1:
- dependencies.append((self.CHROOT if self.CHROOT else '') + file.replace('\a', ' '))
- else:
- dependencies = dependencies + [(self.CHROOT if self.CHROOT else '') + f.replace('\a', ' ') for f in file.split(" ")]
- return dependencies
-
def is_not_supported_error(self, output):
return "error: #error [NOT_SUPPORTED]" in output
