The virtual machine EmbedVM
2011-05-01: the virtual machine (EmbedVM) explained 1/2
2011-05-01: the virtual machine (EmbedVM) explained 2/2
EmbedVm is a fully functional virtual machine that runs inside the ATMEL MCU. It can easily be ported to other CPU architectures as it is entirely written in C.
You can find its source here.
The VM itself takes ~3KB of program memory and consosts of ~300 lines of code.
There are two ways to write programs to run inside the virtual machine.
There are two compilers that target EmbedVM: There is a compiler for a C-like high level language and there is a compiler that can transform python code to VM bytecode. The compiler for the C-like language is part of the EmbedVM sources. The python compiler can be found here.