For beginners it is always a problem getting started with microcontrollers. The biggest problem is getting the whole system running and then programming it with C. C is a great language but it has its pitfalls.
A solution for this problem would be running an interpreter of a high-level language on the microcontroller. Another advantage for the user would be that he can directly see what a command did.
In detail we want to use the atsam4s16b controller from atmel. We developed a board and now want it for the users to be as easy programmable as possible.
At the moment we are thinking of implementing the lua interpreter or porting the elua interpreter.
But before we get started I want to ask if there could be other interesting solutions and what are the pros and cons.
For an embedded lua interpreter I would say you have of course some performance losses as for every other interpreter you run. But on the positive side lua is a simple language which can be learned quite easily and you can communicate in an easy way with c code.
So the features of the language must be:
- Easy communication with C
- interpreted
- Easy to learn
- modern concepts (object oriented, maybe functional)
- fit in the ATSAM4S16B
- widely used would be good
- and the interpreter should not be in an experimental state