WebAssembly Micro Runtime (WAMR)
Load and run sandboxed WebAssembly modules at runtime, without reflashing the firmware.
- Follows branch
main: eachwest updatewill get its latest commits. To stay on one version, it is recommended to use a release tag.
Install
# From the workspace root
curl -fsSL https://kartben.github.io/windrose/m/wamr.yaml \
-o zephyr/submanifests/wamr.yaml
west update wamr
# From the workspace root
Invoke-WebRequest https://kartben.github.io/windrose/m/wamr.yaml `
-OutFile zephyr/submanifests/wamr.yaml
west update wamr
- name: wamr url: https://github.com/wasm-micro-runtime/wasm-micro-runtime revision: main path: modules/lib/wasm-micro-runtime
Add to projects in your west.yml, then run west update wamr.
Details
- Revision
- main
- License
- Apache-2.0 WITH LLVM-exception
- Maintainers
- @wasm-micro-runtime
- Last commit
- 2 days ago
About
WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly runtime designed for embedded and resource constrained devices. It lets an application load and execute WebAssembly (WASM) modules at runtime, so functionality can be updated or extended without reflashing the firmware, and untrusted code can run in the sandbox the WASM specification defines. See the WAMR documentation for the runtime APIs, the execution modes and the wamrc AOT compiler.
WAMR supports Zephyr through a dedicated platform layer, and ships the Zephyr module glue (zephyr/module.yml, zephyr/Kconfig and zephyr/CMakeLists.txt) in its own repository, so an application only has to select a few Kconfig options to get the runtime linked into its image.
WAMR is licensed under the Apache License 2.0 with LLVM exceptions.