Skip to content

Version 0.4.1 fixes two important bugs in the compiler. One causes the .data section to not get flashed to the chip in many cases, and the other fixes a problem in the Docker container.

  • compiler
    • fix objcopy replacement to include the .data section in the firmware image
    • use llvm-ar-7 on Linux to fix the Docker image
Assets 4

@aykevl aykevl released this Mar 9, 2019 · 3 commits to master since this release

Version 0.4.0 has improved support for samd21-based boards and has various compiler improvements.

It currently still requires Go 1.11, support for Go 1.12 will be added in a future release.

  • compiler
    • switch to the hardfloat ABI on ARM, which is more widely used
    • avoid a dependency on objcopy (arm-none-eabi-objcopy etc.)
    • fix a bug in make([]T, n) where n is 64-bits on a 32-bit platform
    • adapt to a change in the AVR backend in LLVM 8
    • directly support the .uf2 firmware format as used on Adafruit boards
    • fix a bug when calling panic() at init time outside of the main package
    • implement nil checks, which results in a ~5% increase in code size
    • inline slice bounds checking, which results in a ~1% decrease in code size
  • targets
    • samd21: fix a bug in port B pins
    • samd21: implement SPI peripheral
    • samd21: implement ADC peripheral
    • stm32: fix a bug in timekeeping
    • wasm: fix a bug in wasm_exec.js that caused corruption in linear memory when running on Node.js.
Assets 4

@aykevl aykevl released this Feb 27, 2019 · 30 commits to master since this release

Version 0.3.0 has added support for macOS and has greatly improved support for samd21-based boards.
It currently still depends on Go 1.11, support for Go 1.12 will be added in a future release.

  • compiler
    • remove old -initinterp flag
    • add support for macOS
  • cgo
    • add support for bool/float/complex types
  • standard library
    • device/arm: add support to disable/enable hardware interrupts
    • machine: add CPU frequency for nrf-based boards
    • syscall: add support for darwin/amd64
  • targets
    • circuitplay_express: add support for this board
    • microbit: add regular pin constants
    • samd21: fix time function for goroutine support
    • samd21: add support for USB-CDC (serial over USB)
    • samd21: add support for pins in port B
    • samd21: add support for pullup and pulldown pins
    • wasm: add support for Safari in example
Assets 4

@aykevl aykevl released this Feb 8, 2019 · 51 commits to master since this release

Release 0.2.0 has greatly improved standards library support.

  • command line
    • add version subcommand
  • compiler
    • fix a bug in floating point comparisons with NaN values
    • fix a bug when calling panic in package initialization code
    • add support for comparing complex64 and complex128
  • cgo
    • add support for external globals
    • add support for pointers and function pointers
  • standard library
    • fmt: initial support, fmt.Println works
    • math: support for most/all functions
    • os: initial support (only stdin/stdout/stderr)
    • reflect: initial support
    • syscall: add support for amd64, arm, and arm64
Assets 4

@aykevl aykevl released this Feb 1, 2019 · 85 commits to master since this release

This is the first release of TinyGo!

Assets 3
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.