Ethan Reesor
59218cd784
Working on NXP/Teensy support
2020-07-08 21:58:15 +02:00
Ethan Reesor
079a789d49
Minimal NXP/Teensy support
2020-07-08 21:58:15 +02:00
deadprogram
ca8e1b075a
targets/maixbit: cleanup output from kflash command by removing ansi colors
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2020-07-08 20:16:03 +02:00
Branden Timm
33024d4aa2
Fix portL mappings for atmega2560 ( #1222 )
...
* machine/atmega2560: fix portL mapping for atmega2560
2020-07-08 19:02:10 +02:00
Branden Timm
49df129ccd
docs: add submodule update step prior to 'make release' ( #1213 )
...
* docs: add submodule update step prior to 'make release'
2020-07-08 17:37:43 +02:00
Ayke van Laethem
3088dcadec
building: add links to tinygo.org
...
The BUILDING.md file is not intended for developer builds but for
release builds. The website contains more specific and more complete
information on how to build TinyGo, so provide links to these pages.
The Windows link doesn't work yet, but should work with the next
release when we update the website.
2020-07-08 17:35:31 +02:00
Yannis Huber
7ed7e6cb11
risc-v: disable linker relaxations during gp init
2020-07-08 01:58:12 +02:00
Yannis Huber
0b94e486c1
maixbit: changes according to feedback
2020-07-08 00:21:59 +02:00
Yannis Huber
5ff76aacab
runtime: reuse common code between 32 and 64-bit RISC-V
2020-07-08 00:21:59 +02:00
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