tinygo/targets
Ayke van Laethem d919905c96 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.
2021-04-14 09:17:54 +02:00
..
arduino-mega1280.json Arduino Mega 1280 support 2021-04-12 11:03:13 +02:00
arduino-mega2560.json arduino-mega2560: fix flashing on Windows 2020-09-03 06:24:18 +02:00
arduino-mkr1000.json sam: add support for the MKR1000 board 2020-12-03 00:33:23 +01:00
arduino-nano.json avr: configure emulator in board files 2020-09-09 13:05:14 +02:00
arduino-nano33.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
arduino-zero.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
arduino.json avr: configure emulator in board files 2020-09-09 13:05:14 +02:00
arm.ld arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
atmega328p.json avr: configure emulator in board files 2020-09-09 13:05:14 +02:00
atmega1280.json Arduino Mega 1280 support 2021-04-12 11:03:13 +02:00
atmega1284p.json avr: fix target triple 2020-06-30 20:48:42 +02:00
atmega2560.json avr: fix target triple 2020-06-30 20:48:42 +02:00
atsamd21.ld machine/atsamd21: extracts functionality for processor family into shared files. 2019-02-20 14:16:09 +01:00
atsamd21e18a.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
atsamd21g18a.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
atsamd51.ld machine/atsamd51: add support for ATSAMD51 processor using Adafruit ItsyBitsy-M4 board 2019-09-14 17:56:14 +02:00
atsamd51g19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j20a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51j20a.ld sam: fix ROM / RAM size on atsamd51j20 2020-05-07 23:04:10 +02:00
atsamd51p19a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51p20a.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
atsamd51p20a.ld Add board support for Adafruit Grand Central M4 (SAMD51) (#1714) 2021-03-15 14:06:09 +01:00
attiny85.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
avr.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
avr.ld avr: properly support the .rodata section 2020-10-31 21:06:26 +01:00
avr.S avr: use Clang for compiling C and assembly files 2021-02-12 01:10:06 +01:00
bluepill-clone.json Add support for additional openocd commands (#1492) 2020-12-30 09:19:41 +01:00
bluepill.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
circuitplay-bluefruit.json nrf: add SoftDevice support for the Circuit Playground Bluefruit 2020-08-30 16:16:31 +02:00
circuitplay-bluefruit.ld nrf: add SoftDevice support for the Circuit Playground Bluefruit 2020-08-30 16:16:31 +02:00
circuitplay-express.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
clue-alpha.json machine/clue: correct volume name and add alias for release version of Adafruit Clue board 2020-12-29 15:17:38 +01:00
clue.json machine/clue: correct volume name and add alias for release version of Adafruit Clue board 2020-12-29 15:17:38 +01:00
cortex-m-qemu.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
cortex-m-qemu.s arm: automatically determine stack sizes 2020-08-27 19:23:22 +02:00
cortex-m.json gdb: enable to specify multiple candidates for gdb 2021-03-29 00:21:38 +02:00
cortex-m0.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
cortex-m0plus.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
cortex-m3.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
cortex-m4.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
cortex-m7.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
cortex-m33.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
d1mini.json esp8266: add target for d1mini board and add pin mappings for SPI/I2C to help out implementers 2020-10-17 19:57:53 +02:00
digispark.json digispark: split off attiny85 target 2021-02-12 01:10:06 +01:00
esp32-coreboard-v2.json machine/esp32, targets/esp32: correct board definitions for actual boards not processor variants, also define all labeled pins 2020-10-14 21:48:48 +02:00
esp32-mini32.json machine/esp32, targets/esp32: correct board definitions for actual boards not processor variants, also define all labeled pins 2020-10-14 21:48:48 +02:00
esp32.json esp: add picolibc 2021-02-11 10:50:29 +01:00
esp32.ld esp32: add libgcc ROM functions to linker script 2020-09-05 10:41:35 +02:00
esp8266.json esp: add picolibc 2021-02-11 10:50:29 +01:00
esp8266.ld esp8266: add support for this chip 2020-09-09 19:17:11 +02:00
fe310.json Changes according to @aykevl's feedback 2020-07-08 00:21:59 +02:00
feather-m0.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
feather-m4.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
feather-nrf52840.json nrf52840: add build tags for SoftDevice support 2020-08-30 16:16:31 +02:00
feather-stm32f405.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
gameboy-advance.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
gameboy-advance.ld main: add initial support for (in-development) LLVM 11 2020-10-13 20:23:50 +02:00
gameboy-advance.s targets/gba: implement interrupt handler 2020-01-27 21:56:17 +01:00
grandcentral-m4.json Add board support for Adafruit Grand Central M4 (SAMD51) (#1714) 2021-03-15 14:06:09 +01:00
hifive1-qemu.json targets: add hifive1-qemu for testing RISC-V bare metal in QEMU 2019-12-07 16:47:40 +01:00
hifive1-qemu.ld targets: add hifive1-qemu for testing RISC-V bare metal in QEMU 2019-12-07 16:47:40 +01:00
hifive1b.json hifive1b: add support for gdb subcommand 2020-01-12 17:02:53 +01:00
hifive1b.ld all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
itsybitsy-m0.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
itsybitsy-m4.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
itsybitsy-nrf52840.json nrf52840: add build tags for SoftDevice support 2020-08-30 16:16:31 +02:00
k210.json all: remove support for LLVM 9 2021-03-04 15:46:05 +01:00
lgt92.json Support for STM32L0 MCUs and Dragino LGT92 device (#1561) 2021-01-08 22:27:25 +01:00
lm3s6965.ld all: add emulation support for Cortex-M3 with QEMU 2018-10-08 17:07:19 +02:00
maixbit.json targets/maixbit: cleanup output from kflash command by removing ansi colors 2020-07-08 20:16:03 +02:00
maixbit.ld all: remove support for LLVM 9 2021-03-04 15:46:05 +01:00
matrixportal-m4.json matrixportal-m4: Add support for board Adafruit Matrix Portal M4 (#1529) 2020-12-11 10:00:41 +01:00
metro-m4-airlift.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
microbit-s110v8.json microbit: reelboard: flash using OpenOCD when needed 2020-09-15 17:07:40 +02:00
microbit-v2.json machine/microbit-v2: add initial support based on work done by @alankrantas thank you! 2021-01-06 18:50:46 +01:00
microbit.json targets: refactor flash/gdb target configuration 2019-10-14 16:44:33 +02:00
mimxrt1062-teensy40.ld teensy40: initial implementation 2020-11-11 18:34:47 +01:00
nicenano.json nice!nano board support (#1499) 2021-01-24 16:46:21 +01:00
nintendoswitch.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nintendoswitch.ld nintendoswitch: Add env parser and removed unused stuff 2020-11-03 23:28:55 +01:00
nintendoswitch.s nintendoswitch: Add env parser and removed unused stuff 2020-11-03 23:28:55 +01:00
nodemcu.json esp8266: add support for this chip 2020-09-09 19:17:11 +02:00
nrf51-s110v8.json nrf: add microbit-s110v8 target 2020-05-26 18:50:33 +02:00
nrf51-s110v8.ld nrf: add microbit-s110v8 target 2020-05-26 18:50:33 +02:00
nrf51.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
nrf51.ld nrf: add micro:bit board 2018-10-06 13:04:14 +02:00
nrf52-s132v6.json nrf: fix nrf52-s132v6 config 2019-11-16 21:57:18 +01:00
nrf52-s132v6.ld nrf: fix nrf52832 flash size 2020-10-20 19:13:43 +02:00
nrf52.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52.ld nrf: fix nrf52832 flash size 2020-10-20 19:13:43 +02:00
nrf52833.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52833.ld machine/microbit-v2: add initial support based on work done by @alankrantas thank you! 2021-01-06 18:50:46 +01:00
nrf52840-mdk-usb-dongle.json Add nrf52840-mdk-usb-dongle target (#1654) 2021-02-24 10:25:38 +01:00
nrf52840-mdk.json targets: refactor flash/gdb target configuration 2019-10-14 16:44:33 +02:00
nrf52840-s140v7.json nrf: support for SoftDevice s140 PCA10056 board 2019-11-20 16:43:55 +01:00
nrf52840-s140v7.ld nrf: expose the RAM base address 2020-05-26 18:49:44 +02:00
nrf52840.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
nrf52840.ld nrf: add nrf52840-mdk board 2018-10-18 15:07:06 +02:00
nucleo-f103rb.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
nucleo-f722ze.json Nucleo f722ze (#1526) 2020-12-15 06:51:35 +01:00
nucleo-l031k6.json stm32: add nucleo-l031k6 support 2021-04-07 17:20:19 +02:00
nucleo-l432kc.json Add support for nucleol432 board 2021-03-23 08:33:59 +01:00
nucleo-l552ze.json nucleol552ze: implementation with CLOCK, LED, and UART 2021-02-16 12:48:52 +01:00
nxpmk66f18.ld Cleanup Teensy 3.6 linker script 2020-07-13 12:35:53 +02:00
p1am-100.json Add support for the P1AM-100 (similar to Arduino MKR) 2021-01-06 00:36:57 +01:00
particle-3rd-gen.json Add Argon and Boron 2020-02-18 23:34:56 +01:00
particle-argon.json Apply review suggestions 2020-02-18 23:34:56 +01:00
particle-boron.json Apply review suggestions 2020-02-18 23:34:56 +01:00
particle-xenon.json Apply review suggestions 2020-02-18 23:34:56 +01:00
pca10031.json targets: refactor flash/gdb target configuration 2019-10-14 16:44:33 +02:00
pca10040-s132v6.json nrf: fix nrf52-s132v6 config 2019-11-16 21:57:18 +01:00
pca10040.json targets: refactor flash/gdb target configuration 2019-10-14 16:44:33 +02:00
pca10056-s140v7.json nrf: support for SoftDevice s140 PCA10056 board 2019-11-20 16:43:55 +01:00
pca10056.json nrf: support debugging the PCA10056 2020-06-08 19:54:41 +02:00
pca10059.json initial support for pca10059 2021-03-28 21:38:05 +02:00
pca10059.ld initial support for pca10059 2021-03-28 21:38:05 +02:00
pinetime-devkit0.json nrf: add support for the PineTime64 devkit 2019-10-28 07:17:39 +01:00
pybadge.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
pygamer.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
pyportal.json Adafruit PyPortal Support (#800) 2020-01-06 11:53:43 +01:00
qtpy.json fix msd-volume-name (qtpy) 2021-03-21 10:00:43 +01:00
reelboard-s140v7.json microbit: reelboard: flash using OpenOCD when needed 2020-09-15 17:07:40 +02:00
reelboard.json targets: refactor flash/gdb target configuration 2019-10-14 16:44:33 +02:00
riscv-qemu.json risc-v: add support for 64-bit RISC-V CPUs 2020-06-08 16:47:39 +02:00
riscv-qemu.ld riscv: implement VirtIO target 2020-03-26 23:03:55 +01:00
riscv.json gdb: enable to specify multiple candidates for gdb 2021-03-29 00:21:38 +02:00
riscv.ld maixbit: changes according to feedback 2020-07-08 00:21:59 +02:00
riscv32.json riscv: refactor assembly files to support RV64 and F extension 2020-07-08 00:21:59 +02:00
riscv64.json maixbit: changes according to feedback 2020-07-08 00:21:59 +02:00
stm32.ld stm32: initial support 2018-09-22 01:51:44 +02:00
stm32f4disco-1.json machine/stm32f4disco: add updated target file for newer version of board that have updated st-link 2020-06-30 14:08:20 +02:00
stm32f4disco.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00
stm32f7x2zetx.ld Nucleo f722ze (#1526) 2020-12-15 06:51:35 +01:00
stm32f103rb.ld machine/stm32f103xx/nucleo-f103rb: add support for NUCLEO-F103RB STM32F1-based board 2019-09-17 13:26:26 +02:00
stm32f405.ld add STM32F405 machine/runtime, and new board/target feather-stm32f405 2020-09-11 09:09:02 +02:00
stm32f407.ld stm32: add support for the STM32F4Discovery 2019-04-13 13:32:05 +02:00
stm32l0x2.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
stm32l4x2.ld Add support for nucleol432 board 2021-03-23 08:33:59 +01:00
stm32l5x2xe.ld nucleol552ze: implementation with CLOCK, LED, and UART 2021-02-16 12:48:52 +01:00
stm32l031k6.ld stm32: add nucleo-l031k6 support 2021-04-07 17:20:19 +02:00
stm32l072czt6.ld Support for STM32L0 MCUs and Dragino LGT92 device (#1561) 2021-01-08 22:27:25 +01:00
teensy36.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
teensy36.s Viable NXP/Teensy support 2020-07-08 21:58:15 +02:00
teensy40.json all: clean up Cortex-M target files 2021-04-14 09:17:54 +02:00
teensy40.s teensy40: initial implementation 2020-11-11 18:34:47 +01:00
trinket-m0.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
wasi.json wasi: specify wasi-libc in a different way 2021-03-04 17:25:22 +01:00
wasm.json wasm: only export explicitly exported functions 2021-03-22 13:48:12 +01:00
wasm_exec.js Upgrade WASI version to wasi_snapshot_preview1 (#1691) 2021-03-15 12:41:37 +01:00
wioterminal.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
x9pro.json machine: add support for the X9 Pro smartwatch 2019-11-03 17:28:32 +01:00
xiao.json sam: remove redundant build tags 2020-11-15 16:19:51 +01:00
xtensa.json all: use -Qunused-arguments only for assembly files 2021-04-14 09:17:54 +02:00