Embedded scripting engine

Hi,

I’m looking for a small scripting engine implementation for my

embedded project running on STM32F103T6 MCU @ 72MHz and FreeRTOS 6.0.4

and ST library 3.2.0.

Right now, I’m using a derivate of basic language with code:

c=0

for d=1 to 10000

set_onboard_led c

if c=0 then c=1 else c=0

next d

end

and get performance roughly 1 millisecond per 1 loop. The project is

level 2 optimized in GCC (-O2).

The script is running as an operating system task. I’m looking for an

alternative scripting solution that can do roughly 20 microseconds per

1 loop.

Thanks in advance!

eLua.

http://www.eluaproject.net/

I dunno if it fits on your part, it runs on the 512kb parts. I have run it on a 512Kb Cortex M3 device. Still needs some interfaces for hw, OR you can use SWIG to generate interfaces to your C code to hw.

Other tools to look at:

microLua. an even smaller lua that runs on NintendoDS.

http://code.google.com/p/microlua/wiki/MicroLua

Tcl. the base tcl compiles to a pretty small app IIRC, I built it once for a PowerPC405 chip.

Doing a little search may rule this one out, I recall I already had a cross compiler, so building it was easy. Standard tcl stuff.

S-lang. its been ages since I worked with this, but think C scripting, it was also very small.

http://www.s-lang.org/

Forth. forth was famous for going onto really small hw parts.

One example I found: http://eddiem.com/micros/sam7forth/armforth.html

Let me know what you decide on and how well it works…

Although it is unlikely to meet your ambitious performance requirements, I recommend you have a look at Bitlash, which you will find at http://bitlash.net

The version I distribute on bitlash.net is in C for Arduino, but it is not a big deal to port to other C architectures and I would welcome and support such a contribution :wink:

Happy to answer questions here.

Best,

-br

http://bitlash.net

http://entropymouse.com