WARDuino: A Dynamic WebAssembly Virtual Machine for Programming Microcontrollers
It is extremely hard and time-consuming to make correct and efficient programs for micro-controllers. Usually micro-controllers are programmed in a low level programming language such as C which makes them hard to debug and maintain. To raise the abstraction level, many high level programming languages have provided support for programming micro-controllers. Examples include Python, Lua, C#and JavaScript. Using these languages has the downside that they are orders of magnitude slower than the low-level languages. Moreover, they often provide no remote debugging support. In this talk we investigate the feasibility of using WebAssembly to program Arduino compatible micro-controllers.Our experiments lead to extending the standard WebAssembly VM with: 1) safe live code updates for functions and data 2) remote debugging support at the VM level 3) programmer configurable (Arduino) modules in order to keep the virtual machine’s footprint as small as possible. The resulting WARDuino VM enables the programmer to have better performance than an interpreted approach while simultaneously increasing the ease of development.To evaluate our approach, we implemented a simple break-out game and conducted micro benchmarks which show that the VM runs approximately 5 times faster than Espruino, a popular JavaScript interpreter for the ESP32 micro-controller.
this URL might only work when visiting from a https://beardhatcode.be URL.
Mon 21 OctDisplayed time zone: Beirut change
11:00 - 12:30 | |||
11:00 30mTalk | Supporting On-Stack Replacement in Unstructured Languages by Loop Reconstruction and Extraction MPLR 2019 Raphael Mosaner Johannes Kepler University Linz, David Leopoldseder Johannes Kepler University Linz, Manuel Rigger ETH Zurich, Roland Schatz Johannes Kepler University Linz, Hanspeter Mössenböck JKU Linz, Austria Pre-print | ||
11:30 30mTalk | GraalSqueak: Toward a Smalltalk-based Tooling Platform for Polyglot Programming MPLR 2019 Fabio Niephaus Hasso Plattner Institute, University of Potsdam, Tim Felgentreff Oracle Labs, Potsdam, Robert Hirschfeld Hasso-Plattner-Institut (HPI), Germany DOI Pre-print | ||
12:00 30mTalk | WARDuino: A Dynamic WebAssembly Virtual Machine for Programming Microcontrollers MPLR 2019 DOI Authorizer link Pre-print |