20

I would like to generate a list of high-level language interpreters and compilers (e.g. something that compiles LISP to C code) for microcontrollers.

I've done a bit of research so far that I will document here:

List of projects for running Python on microcontrollers: http://web.media.mit.edu/~nvawter/projects/pyMicro/

PyMite: http://wiki.python.org/moin/PyMite

python-on-a-chip: http://code.google.com/p/python-on-a-chip/

Armpit Scheme: http://armpit.sourceforge.net/

TinyScheme: http://tinyscheme.sourceforge.net/home.html

Minimal LISP Interpreter: http://www.sonoma.edu/users/l/luvisi/sl5.c

Embedded ML: http://embeddedml.sourceforge.net/Site/Intro.html

eLua: http://www.eluaproject.net/

Embedded JAVA: http://en.wikipedia.org/wiki/Embedded_Java

amforth: http://amforth.sourceforge.net/

TinyTCL: http://tinytcl.sourceforge.net/

Tiny BASIC: http://www.ittybittycomputers.com/IttyBitty/TinyBasic/index.htm

AVR shell: http://www.instructables.com/id/AVRSH-A-Command-Interpreter-Shell-for-ArduinoAVR/

Bitlash shell (AVR): http://bitlash.net/wiki/start

Transterpreter (occam-pi on AVR): http://www.transterpreter.org/

Rite (embedded Ruby) (will be released in 2011): http://www.slideshare.net/yukihiro_matz/rubyconf-2010-keynote-by-matz

Jal (pascal like) for PICs, compiler: http://www.casadeyork.com/jalv2/ libraries: http://code.google.com/p/jallib/

.NET Micro Framework (C# and VB.NET): http://netmf.codeplex.com/

This is a community wiki – please feel free to add to the list.

Ryan
  • 101
  • 3
terrace
  • 1,334
  • 1
  • 15
  • 28

5 Answers5

4

I would add Staapl to this list.

Staapl allows you to use Scheme macros as a metaprogramming tool on top of a forth-like stack language. Staapl currently targets the PIC18 chips.

Forth is definitely not a high level language, but the addition of Scheme on top of it eases the development.

JonathanD
  • 1,422
  • 1
  • 11
  • 12
3

Here is a good list from SO that lists languages targeted to micros, although I think you got most of them. I've added the ones missing, leaving out the C interpreters.

There are also programs that will compile C++ to C, and I have seen some experimental work to translate c# to c for micro use, but that seems unnecessary.

AdamShiemke
  • 251
  • 1
  • 5
2

I would like to add C# using the .NET Micro Framework. There are many ARM ports in use and it is well supported and documented. http://msdn.microsoft.com/en-us/library/cc533001.aspx

Some of the well known development boards out there:

Fez Panda/Domino Netduino and Netduino plus

Jon L
  • 4,258
  • 1
  • 22
  • 33
1

I'm in the process of installing the toolchain to use the Transterpreter with the Arduino. It lets you write occam-pi for the ATmega chip (which supports concurrency). There's also an occam-pi library that supports all of the Arduino functions:

http://projects.cs.kent.ac.uk/projects/kroc/trac/wiki/CrossBuilding

The Transterpreter is now part of the KRoC (Kent occam-pi system) project.

terrace
  • 1,334
  • 1
  • 15
  • 28