Transforming a bare PC application to run on an ARM device
Alexander Peter, Ramesh K. Karne, Alexander L. Wijesinha, Patrick Appiah-Kubi · 2013
Bare machine applications currently run on x86-based CPUs without any operating system or kernel support. Their low overhead makes them especially suited for mobile devices and pervasive computing. As an initial step towards running bare applications on mobile devices, we transform an x86-based bare PC graphics application to run on an ARM device. We first identify key differences between the x86 and ARM architectures relevant to the transformation. We then describe a methodology to transform the x86-based bare graphics application to run on the ARM architecture. We also present timing measurements when drawing graphics functions using the same bare application on an x86 bare PC, ARM development board, DOSBox emulator, and QEMU-VM simulator. This work provides insight into designing future bare machine applications that can run on a variety of mobile and pervasive devices with minimal code changes.