Embedded Lua shell for Zephyr #89459
Unanswered
agguo
asked this question in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
My team (@alexayl, @agguo, @danjshaw) created a module which consists of an embedded Lua shell for Zephyr.
Overview
The project contains a Lua interpreter in a tailored shell-like environment, providing users with a module for rapid prototyping, testing, or debugging of their application.
The Lua peripheral library consists of wrappers around Zephyr's UART API which lets the peripherals be accessible via Lua scripts. Users can use the UART framework as a reference for creating custom commands that can be used at runtime to interact with their application. We’re hoping the community can also use the UART framework as a template for expanding the peripheral library with API wrapper layers around other peripherals supported by the zephyr ecosystem (our group only has access to the UART device through the RISCV emulated development board).
There are a few functions (e.g.,
_times()
,_unlink()
) that are not implemented in newlibc and picolibc but are necessary to build Lua. These are declared in an auxiliary C file for now.Project with sample scripts can be found here: https://github.com/agguo/lsh/
Notes
There seemed to be some interest in integrating Lua a few years ago:
Curious whether there is still any interest in embedding Lua into Zephyr as an external module?
Beta Was this translation helpful? Give feedback.
All reactions