Yannis Huber
3ee7599a09
maixbit: use custom linker script
...
This linker script does not offer stack overflow protection
because the stack cannot be placed at the bottom of the RAM.
2020-07-08 00:21:59 +02:00
Yannis Huber
43a66b39cc
riscv: refactor assembly files to support RV64 and F extension
2020-07-08 00:21:59 +02:00
Yannis Huber
66b21b4c86
maixbit (interruptions): fix fpioa function test
2020-07-08 00:21:59 +02:00
Yannis Huber
a9568932be
maixbit: workaround to avoid medium code model
2020-07-08 00:21:59 +02:00
Yannis Huber
f2fbd1dd7e
maixbit (gpio): fix pin configuration
2020-07-08 00:21:59 +02:00
Yannis Huber
21a9aa8102
maixbit (i2c): fix rx fifo buffer length
2020-07-08 00:21:59 +02:00
Yannis Huber
e1757e0347
builder: add support for 64-bit RISC-V
2020-07-08 00:21:59 +02:00
Yannis Huber
a05fc10699
maixbit: add smoke test
2020-07-08 00:21:59 +02:00
Yannis Huber
a685217743
maixbit: add I2C support
2020-07-08 00:21:59 +02:00
Yannis Huber
ad0c15080a
maixbit: add SPI support
2020-07-08 00:21:59 +02:00
Yannis Huber
5446c6927e
maixbit: add GPIOHS pin interrupt support
2020-07-08 00:21:59 +02:00
Yannis Huber
53c83fa445
maixbit: support both GPIO and GPIOHS controllers
2020-07-08 00:21:59 +02:00
Yannis Huber
804dc8b1f9
maixbit: init fpioa clock at reset
2020-07-08 00:21:59 +02:00
Yannis Huber
e1ceca1931
maixbit: remove atomic operations
2020-07-08 00:21:59 +02:00
Yannis Huber
6620c4d2aa
maixbit: add chip datasheet link and reformat code
2020-07-08 00:21:59 +02:00
Yannis Huber
ccc604d2e0
riscv: fix offset in 64bit scheduler
...
Also keep common start.S file for 64 and 32 bit architectures.
2020-07-08 00:21:59 +02:00
Yannis Huber
dfab1aa717
maixbit (uart): serial is working with echo example
2020-07-08 00:21:59 +02:00
Yannis Huber
75bcbbe6d8
riscv: align stack and data sections to 8 bytes
...
Alignment on 4 bytes can cause load/store address misalignment
exceptions when loading/storing 64bit values on the stack.
2020-07-08 00:21:59 +02:00
Yannis Huber
d599959711
maixbit (uart): working on data tx
...
When the data to send is too long the program gives an exception.
2020-07-08 00:21:59 +02:00
Yannis Huber
7814964693
maixbit: add board definition and dummy runtime
2020-07-08 00:21:59 +02:00
Yannis Huber
2fe4a9be71
maix-bit: add code model in target definition
...
This is needed to avoid linking errors because the globals are placed
in memory at address 0x80000000 which is out of bounds for the default
code model.
2020-07-08 00:21:59 +02:00
Yannis Huber
163631df9e
cmsis-svd: change submodule url to the TinyGo fork
2020-07-08 00:21:59 +02:00
Yannis Huber
9ad96fd809
Changes according to @aykevl's feedback
2020-07-08 00:21:59 +02:00
Yannis Huber
4a658b9082
Add llvm code model option in target definition
2020-07-08 00:21:59 +02:00
Yannis Huber
34e0961a79
Split RISC-V targets into 32/64-bit
2020-07-08 00:21:59 +02:00
Yannis Huber
875d36cba0
Add new kendryte k210 target definition
2020-07-08 00:21:59 +02:00
sago35
1a6bed3305
machine/samd51: add DAC support ( #1198 )
...
* machine/samd51: add DAC support
2020-07-06 14:02:51 +02:00
Branden Timm
e0b9b1ecd1
machine: fix atmega2560 mapping for pins D2 and D5
2020-07-05 21:18:20 +02:00
Johan Brandhorst
149c9533e2
ci: add archlinux release job
...
Adds the arch-release job, which automatically updates
the tinygo-bin AUR package on every new git tag with
a semver version.
2020-07-05 09:51:44 +02:00
Ron Evans
a85df334e6
machine/samd21: basic implementation for DAC ( #1183 )
...
* machine/samd21: basic DAC implementation
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2020-07-04 18:16:25 +02:00
Jaden Weiss
89a9c09af5
runtime (atsamd51): allow interrupts to wake the scheduler
2020-07-04 15:00:44 +02:00
Ayke van Laethem
1451eeaf41
machine: change machine.Pin type to uint8
...
The `machine.Pin` type was a int8, which works fine but limits the
number of pin numbers to 127. This patch changes the type to uint8 and
changes NoPin to 0xff, which allows more pins to be used.
Some boards might not have that many pins but their internal
organization requires more pin numbers to be used (because it is
organized in pin ports and not all pins in a port have a physical
connection). Therefore the range of a int8 is too low to address these
higher pins.
This patch also has the surprising side effect of reducing binary size
in a number of cases. If there is a reduction it's usually just a few
bytes, with one outlier: the driver example amg88xx when compiled for
the pybadge board. I have not seen any increases in binary size.
2020-07-04 09:46:12 +02:00
Jaden Weiss
e8c84d24a0
runtime (gc): do not scan the runqueue when the platform is not baremetal with a scheduler
2020-07-04 08:34:39 +02:00
Jaden Weiss
a4f3457747
runtime: make channels work in interrupts
2020-07-04 08:34:39 +02:00
Ayke van Laethem
aa3481e06a
avr: fix target triple
...
It was `avr-atmel-none`, which is incorrect. It must be
`avr-unknown-unknown`.
Additionally, there is no reason to specify the target triple per chip,
it can be done for all AVR chips at once as it doesn't vary like
Cortex-M chips.
2020-06-30 20:48:42 +02:00
Hiroki Noda
2136cb2f59
Building self-built LLVM faster
...
Disable LIBEDIT/Z3/OCAMLDOC in LLVM build and use shallow-clone.
2020-06-30 19:09:23 +02:00
Ayke van Laethem
acb3cfba6d
avr: work around codegen bug in LLVM 10
...
Commit fc4857e98c
(runtime: avoid recursion in printuint64 function)
caused a regression for AVR. I have tried locally with LLVM 11 (which
contains a number of codegen bugs) and the issue is no longer present,
so I'm assuming it's a codegen bug that is now fixed. However, LLVM 11
is not yet released so it seems best to me to work around this
temporarily (for the next few months).
This commit can easily be reverted when we start using LLVM 11.
2020-06-30 17:56:10 +02:00
deadprogram
8cfc4005d3
machine/stm32f4disco: add smoketests for newer version of board
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2020-06-30 14:08:20 +02:00
deadprogram
2dbe29327a
machine/stm32f4disco: add updated target file for newer version of board that have updated st-link
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2020-06-30 14:08:20 +02:00
sago35
de0fbb5e2f
docs: add PyGamer to list of supported boards
2020-06-27 14:16:36 -04:00
Yannis Huber
9b1a19f184
gen-device-svd: fix lowercase in register spaced array
2020-06-26 13:16:34 +02:00
deadprogram
1ad6953858
build: clean tinygo cache before running tests
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2020-06-23 20:10:30 +02:00
sago35
3e8cdb62c9
main: use ToSlash() to specify pkgName
...
This change allows windows users to specify the package with backslash
as a path separator
2020-06-23 19:20:18 +02:00
Cornel
720a54a0fe
extend stdlib to allow import of more packages ( #1099 )
...
* stdlib: extend stdlib to allow import of more packages
2020-06-23 11:56:28 +02:00
deadprogram
de45da5df4
docker: try installing lld in initial stage to avoid cache problem with deb package
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2020-06-22 19:50:56 +02:00
Hiroki Noda
c9fc95f6f3
wasm32: Add --no-demangle option
...
LLD supports only C++ demangle, so disable it.
2020-06-22 11:42:17 +02:00
sago35
2721ab146f
Seeed XIAO support ( #1170 )
...
* machine/xiao: add support for Seeedstudio XIAO board
2020-06-22 09:01:13 +02:00
Jaden Weiss
81c723db1a
device/arm: do not mask fault handlers in critical sections
2020-06-22 00:08:14 +02:00
sago35
9a20af5b59
Add adc settings
2020-06-19 15:07:57 +02:00
APDevice
4e8e3f348f
Added Adafruit PyGamer Target ( #1173 )
...
* machine/PyGamer: add board support
2020-06-19 14:35:42 +02:00