The complete port of eLua to the MCU environment (32-bits, by now) made by Mr. Bogdan Marinescu and Dado Sutter, this last one a great friend of mine from PUC-Rio and something like a tutor on this software/hardware grounds where I stand today.
For those uninformed, Lua is an interpreted language (some call a script language or dynamic language) mainly developed by Prof. Roberto Ierusalimschy (hope I got his name right =] ) also from PUC-Rio. It is very simple, small but yet powerful...So why not to use all this power on my project!?
Here is a little transcription from eLua's official site that resumes everything:
eLua stands for Embedded Lua and the project aims to offer the full implementation of the Lua Programming Language to the embedded world.
eLua is not a stripped down set of Lua to fit in the embedded environment. Much on the contrary, it strives to offer the same features as the desktop version of Lua, complementing them with specific features for embedded use and discarting the need of an operating system running on the microcontrollers. Besides offering different flavors of the full Lua implementation (like the possibility of choosing between an integer-only and a floating point numbers implementation), a lot of work was and will be done in the direction of making Lua more "embedded-friendly" by augmenting the core language with features that allow lower memory requirements and faster embedded performance.
Why Lua? Extremely well crafted, Lua is the perfect example of a minimal, yet fully functional language. Although generally advertised as a "scripting language" (and used accordingly especially in the game industry), it is also fully capable of running stand-alone programs and web services (ex: Adobe Lightroom, World of Warcraft, ...). Its limited resource requirements make it suitable to a lot of microcontroller families. The intrinsic high portability of the original Lua code (which is ANSI C and runs virtually on every platform), combined with the highly portable software architecture of eLua, allow for easy porting of the project to a large variety of architectures. The peripheral access libraries/modules exported by eLua are also portable by design, so one could run a Lua program (without or with very few modifications) on every eLua supported platform. This brings an unprecedent level of portability to the embedded aplications world. eLua inherits the minimalistic and functional design of Lua, staying in line with the well known KISS, Keep It Small and Simple philosophy.
Ops, my bad. I meant "...the complete port of Lua to the MCU environment..."
ReplyDelete