[ECOS] Embedded scripting language

Øyvind Harboe oyvind.harboe@zylin.com
Sat Feb 14 11:23:00 GMT 2004


> Unlike the others, Tcl at least was originally designed as a scripting 
> language for embedded systems. It's grown since, so it's nice to see 
> something that returns it to its roots. Having a claimed 60K footprint 
> makes it fit much better into the eCos world too. And given other aspects 
> of eCos are based on Tcl (including CDL which is very much built on Tcl) it 
> would fit even better.

Lua scored high on a couple of points:

- It was easy to add. It took me 1-2 hours to wip up something that I
could demonstrate while I was running some other tests. There is no
customer asking for this specific feature, so I didn't have any
"sponsors" for this feature. Hence a fait accompli was crucial to get
this thing going, because I susect it is just the ticket for half a
dozen issues that will crop up.
- It appears to have a reasonable footprint. W/2MB flash and 256k RAM,
code size is cheap, RAM is expensive. The RAM overhead is ~30k, though I
don't know how that behaves yet as we start writing scripts. I haven't
measured precisely, but I believe the default Lua configuration takes
90k of code size on the AT91 EB40a board. This can be trimmed by
disabling features we don't need, but it just doesn't matter for our
purposes.
- The language has a reasonable syntax to *non-programmers*. I've mucked
around with Tcl and even read the documentation, but I haven't looked at
e.g. control structures, looping constructs. I don't know Tcl well
enough to comment on how well non-programmers would fare with it. Since
I'm a dedicated eCos fan :-), I quickly forget that those that use the
product I'm working on have no idea what eCos is. Whatever I introduce
to users should be cheap on concepts(i.e. little for them to learn).




-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list