diff options
author | Ayke van Laethem <[email protected]> | 2021-04-14 03:10:25 +0200 |
---|---|---|
committer | Ron Evans <[email protected]> | 2021-04-14 09:17:54 +0200 |
commit | d919905c96dba355fd03355f322760b076268efc (patch) | |
tree | fdb49384df26c890f17f50bcc2b54c4565308cc3 /targets/cortex-m0plus.json | |
parent | 96b1b76483a99647cc12b1c0f1d15c95f1d54025 (diff) | |
download | tinygo-d919905c96dba355fd03355f322760b076268efc.tar.gz tinygo-d919905c96dba355fd03355f322760b076268efc.zip |
all: clean up Cortex-M target files
In this commit I've moved all core-specific flags to files for that
specific core. This is a bit of a cleanup (less duplicated JSON) but
should also help in the future when core-specific changes are made, such
as core specific build tags or when the FPU finally gets supported in
TinyGo.
Some notable specific changes:
- I've removed floating point flags from the Teensy 3.6 target. The
reason is that the FPU is not yet supported in TinyGo (in goroutine
stack switching for example) and floating point numbers would only
be supported by C files, not Go files (because the LLVM FPU feature
flags aren't used). This would create an ABI mismatch across CGo.
- I've added the "cpu":"cortex-m7" to the cortex-m7.json file to match
the configuration for the Teensy 4.0. This implies a change to the
nucleo-f722ze (because now it has its CPU field set). Somehow that
reduces the code size, so it looks like a good change.
I don't believe any of these changes should have any practical
consequences.
One issue I've found is in the Cortex-M33 target: it uses armv7m, which
is incorrect: it should be armv8m. But the chip is backwards compatible
so this should mostly work. Switching to armv8m led to a compilation
failure because PRIMASK isn't defined, this may be an actual bug.
Diffstat (limited to 'targets/cortex-m0plus.json')
-rw-r--r-- | targets/cortex-m0plus.json | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/targets/cortex-m0plus.json b/targets/cortex-m0plus.json new file mode 100644 index 000000000..f86945b87 --- /dev/null +++ b/targets/cortex-m0plus.json @@ -0,0 +1,7 @@ +{ + "inherits": ["cortex-m"], + "llvm-target": "armv6m-none-eabi", + "cflags": [ + "--target=armv6m-none-eabi" + ] +} |