Yannis Huber
5ff76aacab
runtime: reuse common code between 32 and 64-bit RISC-V
4 years ago
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.
4 years ago
Yannis Huber
43a66b39cc
riscv: refactor assembly files to support RV64 and F extension
4 years ago
Yannis Huber
66b21b4c86
maixbit (interruptions): fix fpioa function test
4 years ago
Yannis Huber
a9568932be
maixbit: workaround to avoid medium code model
4 years ago
Yannis Huber
f2fbd1dd7e
maixbit (gpio): fix pin configuration
4 years ago
Yannis Huber
21a9aa8102
maixbit (i2c): fix rx fifo buffer length
4 years ago
Yannis Huber
e1757e0347
builder: add support for 64-bit RISC-V
4 years ago
Yannis Huber
a05fc10699
maixbit: add smoke test
4 years ago
Yannis Huber
a685217743
maixbit: add I2C support
4 years ago
Yannis Huber
ad0c15080a
maixbit: add SPI support
4 years ago
Yannis Huber
5446c6927e
maixbit: add GPIOHS pin interrupt support
4 years ago
Yannis Huber
53c83fa445
maixbit: support both GPIO and GPIOHS controllers
4 years ago
Yannis Huber
804dc8b1f9
maixbit: init fpioa clock at reset
4 years ago
Yannis Huber
e1ceca1931
maixbit: remove atomic operations
4 years ago
Yannis Huber
6620c4d2aa
maixbit: add chip datasheet link and reformat code
4 years ago
Yannis Huber
ccc604d2e0
riscv: fix offset in 64bit scheduler
Also keep common start.S file for 64 and 32 bit architectures.
4 years ago
Yannis Huber
dfab1aa717
maixbit (uart): serial is working with echo example
4 years ago
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.
4 years ago
Yannis Huber
d599959711
maixbit (uart): working on data tx
When the data to send is too long the program gives an exception.
4 years ago
Yannis Huber
7814964693
maixbit: add board definition and dummy runtime
4 years ago
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.
4 years ago
Yannis Huber
163631df9e
cmsis-svd: change submodule url to the TinyGo fork
4 years ago
Yannis Huber
9ad96fd809
Changes according to @aykevl's feedback
4 years ago
Yannis Huber
4a658b9082
Add llvm code model option in target definition
4 years ago
Yannis Huber
34e0961a79
Split RISC-V targets into 32/64-bit
5 years ago
Yannis Huber
875d36cba0
Add new kendryte k210 target definition
5 years ago
sago35
1a6bed3305
machine/samd51: add DAC support ( #1198 )
* machine/samd51: add DAC support
4 years ago
Branden Timm
e0b9b1ecd1
machine: fix atmega2560 mapping for pins D2 and D5
4 years ago
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.
5 years ago
Ron Evans
a85df334e6
machine/samd21: basic implementation for DAC ( #1183 )
* machine/samd21: basic DAC implementation
Signed-off-by: Ron Evans <ron@hybridgroup.com>
4 years ago
Jaden Weiss
89a9c09af5
runtime (atsamd51): allow interrupts to wake the scheduler
4 years ago
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.
4 years ago
Jaden Weiss
e8c84d24a0
runtime (gc): do not scan the runqueue when the platform is not baremetal with a scheduler
4 years ago
Jaden Weiss
a4f3457747
runtime: make channels work in interrupts
5 years ago
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.
4 years ago
Hiroki Noda
2136cb2f59
Building self-built LLVM faster
Disable LIBEDIT/Z3/OCAMLDOC in LLVM build and use shallow-clone.
4 years ago
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.
4 years ago
deadprogram
8cfc4005d3
machine/stm32f4disco: add smoketests for newer version of board
Signed-off-by: deadprogram <ron@hybridgroup.com>
4 years ago
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>
4 years ago
sago35
de0fbb5e2f
docs: add PyGamer to list of supported boards
4 years ago
Yannis Huber
9b1a19f184
gen-device-svd: fix lowercase in register spaced array
4 years ago
deadprogram
1ad6953858
build: clean tinygo cache before running tests
Signed-off-by: deadprogram <ron@hybridgroup.com>
4 years ago
sago35
3e8cdb62c9
main: use ToSlash() to specify pkgName
This change allows windows users to specify the package with backslash
as a path separator
4 years ago
Cornel
720a54a0fe
extend stdlib to allow import of more packages ( #1099 )
* stdlib: extend stdlib to allow import of more packages
4 years ago
deadprogram
de45da5df4
docker: try installing lld in initial stage to avoid cache problem with deb package
Signed-off-by: deadprogram <ron@hybridgroup.com>
4 years ago
Hiroki Noda
c9fc95f6f3
wasm32: Add --no-demangle option
LLD supports only C++ demangle, so disable it.
4 years ago
sago35
2721ab146f
Seeed XIAO support ( #1170 )
* machine/xiao: add support for Seeedstudio XIAO board
4 years ago
Jaden Weiss
81c723db1a
device/arm: do not mask fault handlers in critical sections
4 years ago
sago35
9a20af5b59
Add adc settings
4 years ago