Saturday, March 5, 2011

QEMU and ARM assembly simulation for linux (debian)

I was looking for some assembly language simulators for ARM. Open sources preferable (free!) so after a lot of trial and error,  I found that QEMU was the solution I was looking for. here is a short description  of QEMU.

"QEMU is a generic and open source machine emulator and virtualizer. When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC).

When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, and S390 guests."

(source : http://wiki.qemu.org/Main_Page )

We dint have a simulation environment set up in our school for running ARM programs. So i decided to get myself one because i knew there were a number of open sourced hardware emulators (long live open sources). Here i am explaining how to get QEMU running for ARM simulation

INSTALLATION OF QEMU

sudo apt-get install qemu
complains somthing about kvm

follow the tutorial in this link
https://help.ubuntu.com/community/KVM/Installation

now qemu is installed for the processor in your system

Install standard packages for arm emualtion namely
qemu-arm-static
qemu-kvm-extras
(search them in your synaptic package manager, they will pop up)

this will set up qemu for arm,

Now all i needed was a good tutorial to check if the setup is working, I found this wonderful amazing site.

follow the link in the tutorial
http://www.bravegnu.org/gnu-eprog/hello-arm.html

I ran the hello world arm in assembly and it works!! :)

No comments:

Post a Comment