Share it

2.9.11

Little Atmel runs Virtual Machine

EmbedVM is a very interesting project maintained by Clifford Wolf from Wien, Austria. It's a Virtual Machine for Atmel uControllers with a C-like language frontend.  It simulates a 16-bit CPU cabable to address up to 64kB of memory. With a small memory footprint of about 3kB and an execution speed of some 75k instructions/sec. Also, all this goodness is released under the ISC license, which translated into real life means that the user can have access to the full source code and customize it to his needs.

Particularly interesting is the possibility to address part or all of the VM memory to an external device, and to run code loaded from external devices as well.
I am not sure 100% that I understand completely the implications or future possible developments, but it very much sounds to me like a very interesting way to:
- Bypass the hardware limitations imposed by small uControllers
- An effective way to load programs easily.
- Still take advantage and maintain control over the most part of the hardware.
I also wonder whether it would be possible to rewrite existing libraries into VM code, to create a whole set of software drivers, to be properly loaded at runtime, and to use them to give a major increase in the level of abstraction offered by nowaday's IDEs for uCs. I would see this possible, at least for all those peripherals without severe timing requirements (perhaps like digital video signal generation and processing).
I personally still havent tried the VM yet, for major lack of time, but I will surely dig more into this sibject during the coming weeks.

Yeah just that.

0 commenti: