aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/runtime/runtime_mimxrt1062.go
AgeCommit message (Collapse)Author
2022-12-19build: drop deprecated build tagsYurii Soldak
2022-07-05serial: use common initialization for serialsago35
2022-06-01os, runtime: enable os.Stdin for baremetal targetsago35
2022-02-13board: add definition for Teensy 4.1 (#2618)BCG
* board: add definition for Teensy 4.1
2022-02-04all: update build constraints to Go 1.17Ayke van Laethem
Do it all at once in preparation for Go 1.18 support. To make this commit, I've simply modified the `fmt-check` Makefile target to rewrite files instead of listing the differences. So this is a fully mechanical change, it should not have introduced any errors.
2022-01-02avr: fix time.Sleep() in init codeAyke van Laethem
In the early days of TinyGo, the idea of `postinit` was to enable interrupts only after initializers have run. Which kind of makes sense... except that `time.Sleep` is allowed in init code and `time.Sleep` requires interrupts to be enabled. Therefore, interrupts must be enabled while initializers are being run. This commit simply moves the enabling of interrupts to a point right before running package initializers. It also removes `runtime.postinit`, which is not necessary anymore (and was only used on AVR).
2021-10-06qemu: signal correct exit code to QEMUAyke van Laethem
There were a few issues that were causing qemu-system-arm and qemu-system-riscv to give the wrong exit codes. They are in fact capable of exiting with 0 or 1 signalled from the running application, but this functionality wasn't used. This commit changes this in the following ways: * It fixes SemiHosting codes, which were incorrectly written in decimal while they should have been written in hexadecimal (oops!). * It modifies all the baremetal main functions (aka reset handlers) to exit with `exit(0)` instead of `abort()`. * It changes `syscall.Exit` to call `exit(code)` instead of `abort()` on baremetal targets. * It adds these new exit functions where necessary, implemented in a way that signals the correct exit status if running under QEMU. All in all, this means that `tinygo test` doesn't have to look at the output of a test to determine the outcome. It can simply look at the exit code.
2021-05-08runtime: remove the asyncScheduler constantAyke van Laethem
There is no reason to specialize this per chip as it is only ever used for JavaScript. Not only that, it is causing confusion and is yet another quirk to learn when porting the runtime to a new microcontroller.
2021-04-24cortexm: disable FPU on Cortex-M4Ayke van Laethem
On some boards the FPU is already enabled on startup, probably as part of the bootloader. On other chips it was enabled as part of the runtime startup code. In all these cases, enabling the FPU is currently unsupported: the automatic stack sizing of goroutines assumes that the processor won't need to reserve space for FPU registers. Enabling the FPU therefore can lead to a stack overflow. This commit either removes the code that enables the FPU, or simply disables it in startup code. A future change should fully enable the FPU so that operations on float32 can be performed by the FPU instead of in software, greatly speeding up such code.
2020-11-15teensy40: add UART supportardnew
2020-11-11teensy40: init RTC and use ARM cycle counter for improved SysTick accuracyardnew
2020-11-11mimxrt1062: move device-specific files to "device/nxp" packageardnew
2020-11-11teensy40: initial implementationardnew