A lot of users have the experience of virtual machines. These VMs are quite useful for developers who have to working on multiple OS platforms. There are many VMs running on embedded microcontrollers, too. These embedded VMs are dedicated for specific purpose. A lot of embedded applications leverage them to reduce system complexity, memory usage, and depoly the custom design. It sounds incorrect, since running VM requires extra resource of embedded microcontroller, and demands extra programming effort, either. However embedded VM indeed can help developers to achieve those goals.