Back to Wasm3

Wasm3 hardware support

docs/Hardware.md

0.5.04.2 KB
Original Source

Wasm3 hardware support

Compatibility table

DeviceChipsetArchitectureClockFlashRAM
Espressif ESP32Xtensa LX6 <sup>⚠️</sup>240MHz4 MB520KB
Particle Argon, Boron, XenonnRF52840Cortex-M4F64MHz1 MB256KB
Particle Photon, ElectronSTM32F205Cortex-M3120Mhz1 MB128KB
Sparkfun Photon RedBoardSTM32F205Cortex-M3120Mhz1 MB128KB
Air602WM W600Cortex-M380MHz1 MB160KB+128KB
Adafruit PyBadgeATSAMD51J19Cortex-M4F120MHz512KB192KB
Realtek RTL8711Cortex-M3166MHz2 MB2 MB+512KB
Nordic nRF52840Cortex-M4F64MHz1 MB256KB
Nordic nRF52833Cortex-M4F64MHz512KB128KB
P-Nucleo WB55RGSTM32WB55RGCortex-M4F64MHz1 MB256KB
Teensy 4.0NXP iMXRT1062Cortex-M7600MHz2 MB1 MB
Teensy 3.5MK64FX512Cortex-M4F120MHz512KB192KB
MXChip AZ3166EMW3166Cortex-M4100MHz1 MB+2 MB256KB
Arduino DueAT91SAM3X8ECortex-M384MHz512KB96KB
Sipeed MAIXKendryte K210RV64IMAFDC400MHz16 MB8 MB
Fomu (soft CPU)Lattice ICE40UP5KRV32I12MHz2 MB128KB

Limited support

The following devices can run Wasm3, however they cannot afford to allocate even a single Linear Memory page (64KB). This means memoryLimit should be set to the actual amount of RAM available, and that in turn usually breaks the allocator of the hosted Wasm application (which still assumes the page is 64KB and performs OOB access).

DeviceChipsetArchitectureClockFlashRAM
Espressif ESP8266Xtensa L106 <sup>⚠️</sup>160MHz4 MB~50KB (available)
Teensy 3.1/3.2NXP MK20DX256Cortex-M472MHz288KB64KB
Blue PillSTM32F103Cortex-M372MHz64KB20KB
Arduino MKR*SAMD21Cortex-M0+ <sup>⚠️</sup>48MHz256KB32KB
Arduino 101Intel CurieARC3232MHz196KB24KB
SiFive HiFive1Freedom E310RV32IMAC320MHz16 MB16KB
Nordic nRF52832Cortex-M4F64MHz256/512KB32/64KB
Nordic nRF51822Cortex-M0 <sup>⚠️</sup>16MHz128/256KB16/32KB
Wicked Device WildFireATmega12848-bit AVR <sup>⚠️</sup>20MHz128KB16KB

Legend:

⚠️ This architecture/compiler currently fails to perform TCO (Tail Call Optimization/Elimination), which leads to sub-optimal interpreter behaviour (intense native stack usage, lower performance).
There are plans to improve this in future 🦄.