MicroQuickJS: A Lightweight JavaScript Engine for Embedded Systems
By
Aissen
Crisp on the outside, thoughtful on the inside. A keeper.
Summary
MicroQuickJS (MQuickJS) is a lightweight JavaScript engine designed for embedded systems, requiring only 10 kB of RAM and about 100 kB of ROM. It compiles and runs JavaScript programs with speed comparable to QuickJS but implements a stricter subset of JavaScript close to ES5, forbidding error-prone or inefficient constructs. While sharing much code with QuickJS, it has different internals optimized for minimal memory consumption.
Key quotes
· 5 pulledMicroQuickJS (aka. MQuickJS) is a JavaScript engine targeted at embedded systems.
It compiles and runs JavaScript programs using as little as 10 kB of RAM.
The whole engine requires about 100 kB of ROM (ARM Thumb-2 code) including the C library.
MQuickJS only supports a subset of JavaScript close to ES5.
Although MQuickJS shares much code with QuickJS, it internals are different in order to consume less memory.
You might also wanna read
Embedist: Open-Source AI-Assisted Embedded Development Environment for Windows
Embedist is an open-source Windows desktop application that integrates AI assistance with embedded firmware development. It combines board-a
xcc700: Self-Hosting Mini C Compiler for ESP32 Microcontrollers
xcc700 is a self-hosting mini C compiler designed specifically for the ESP32 microcontroller with Xtensa architecture. The project allows de
uvm32: Minimalist Virtual Machine Sandbox for Resource-Constrained Microcontrollers
uvm32 is a minimalist, dependency-free virtual machine sandbox designed for microcontrollers and resource-constrained devices. It's implemen
beLow: Automated Performance Analysis and Optimization Tool for C/C++ Embedded Code
beLow is a tool that automatically analyzes C and C++ embedded code to identify performance bottlenecks and generate optimized code for spec
First Successful ARM32 JIT Compilation for Erlang BEAM Virtual Machine
The article announces a major milestone in the development of an ARM32 JIT (Just-In-Time compiler) for the BEAM virtual machine used by Erla
Comparative Analysis: Ada, SPARK, and Rust vs C/C++ for High-Integrity Embedded Systems
This article from AdaCore provides a comparative analysis of programming languages for high-integrity embedded systems development, focusing
