Dealing with Hardware Heterogeneity Using EmbeddedXEN, a Virtualization Framework Tailored to ARM Based Embedded Systems