Ayke van Laethem
2523772b5d
arm: use the lld linker
LLD version 8 has added support for armv6m:
https://reviews.llvm.org/D55555
This means we can use LLD instead of arm-none-eabi-ld, eliminating our
dependency on GNU binutils.
There are small differences in code size, but never more than a few
bytes.
6 years ago
Ayke van Laethem
62d74d8329
all: compile and link using clang, where possible
6 years ago
Ayke van Laethem
8402e84b6d
runtime: implement a simple mark/sweep garbage collector
6 years ago
Ayke van Laethem
bc9210b674
nrf: add micro:bit board
6 years ago
Ayke van Laethem
12298d23a7
all: move generic ARM bits into separate files
6 years ago
Ayke van Laethem
5b0aaf0d39
targets: clean up and unify linker scripts
Especially arm.ld needed some cleaning up. Other than that, I've made
sure the two linker scripts look similar where possible.
6 years ago
Ayke van Laethem
505b1f750d
all: generate interrupt vector from .svd file
6 years ago
Ayke van Laethem
76e77917d8
targets: move target-specific files to this directory
6 years ago
Ayke van Laethem
bfff0c33e4
Fix external globals
This broke the allocator on ARM, and with that the blinky example.
6 years ago
Ayke van Laethem
f9f92de1c3
Add a test for the unicode package
This massively increases .data size, possibly because loads of unused
globals are included. I'll need to investigate what's going on here. For
now, increase the RAM size for nrf chips (the nrf52 has 64kB of RAM).
6 years ago
Ayke van Laethem
0d1b7239c1
Assorted allocator fixes
7 years ago
Ayke van Laethem
e171f32493
Implement minimal bump pointer allocator
Useful for MCUs, until a real garbage collector has been implemented.
7 years ago
Ayke van Laethem
b45ea2deb9
arm: Fix linker script stack section
7 years ago
Ayke van Laethem
f4ee774866
Set up a stack
I forgot to actually set up a stack for the program but strangely it
(mostly) worked - probably due to inlining.
7 years ago
Ayke van Laethem
a446b4de97
Be able to actually run the blinky example on an nRF
runtime.Sleep() doesn't work yet so it prints a lot of data. Also, this
depends on a small patch to nrfx.
7 years ago