TinyGo
Go Compiler For Small Places
Getting Started
Linux
macOS
Windows
Docker
Using TinyGo
Basic command examples
Subcommands
Important Build Options
Misc. Build Options
Go on microcontrollers
Adafruit CLUE
Adafruit Circuit Playground Bluefruit
Adafruit Circuit Playground Express
Adafruit Feather M0
Adafruit Feather M4
Adafruit Feather nRF52840
Adafruit ItsyBitsy M0
Adafruit ItsyBitsy M4
Adafruit Metro M4 Express AirLift
Adafruit PyBadge
Adafruit PyGamer
Adafruit PyPortal
Adafruit Trinket M0
Arduino Mega 2560
Arduino Nano
Arduino Nano33 IoT
Arduino Uno
BBC micro:bit
Bluepill
Digispark
Game Boy Advance
HiFive1 RevB
Nintendo Switch
Nucleo F103RB
PCA10031
PCA10040
PCA10056
Particle Argon
Particle Boron
Particle Xenon
PineTime
STM32F4 Discovery
Seeed Seeeduino XIAO
Seeed Wio Terminal
Sipeed MAix Bit
Teensy 3.6
X9 Pro Smartwatch
nRF52840-MDK
reel board
Drivers
Machine package
arduino
arduino-mega2560
arduino-nano
arduino-nano33
bluepill
circuitplay-bluefruit
circuitplay-express
clue_alpha
digispark
feather-m0
feather-m4
feather-nrf52840
gameboy-advance
hifive1b
itsybitsy-m0
itsybitsy-m4
maixbit
metro-m4-airlift
microbit
nintendoswitch
nrf52840-mdk
nucleo-f103rb
particle-argon
particle-boron
particle-xenon
pca10031
pca10040
pca10056
pinetime-devkit0
pybadge
pygamer
pyportal
reelboard
stm32f4disco
teensy36
trinket-m0
wioterminal
x9pro
xiao
WebAssembly (WASM)
Using WebAssembly
Linux
Go language features
Packages supported by TinyGo
FAQ
What is TinyGo exactly?
Why a new compiler?
Why Go instead of Rust?
What about the ESP8266/ESP32?
Compiler Internals
Microcontroller Targets
Interrupts
The volatile keyword
Inline assembly
Heap allocation
Datatypes
Calling convention
Differences from Go
Harvard architectures (AVR)
Pipeline
IDE Integration
Media
More
Github repo
Godoc
Twitter
Slack
Please give TinyGo a star!
Star
Fork
Site built with
Hugo
Edit this page
Home
> Compiler Internals
Compiler Internals
Want to learn how TinyGo works? We break it all down for you here.