The emulator is a version of QEMU, which mimics the instruction set of an ARM processor, and
the hardware that one might find on a mobile phone. The emulator runs on an x86 system,
but executes an ARM linux kernel and programs. The flow of control is:

application ->

dalvik VM ->

C/C++ libraries ->

ARM linux kernel ->

emulated instructions and hardware (QEMU)->

C libraries->

x86 kernel ->

real hardware

other tools

agcc
bootchart
smem

Eclipse

Hardware

Serial Cable for G1

You can build a serial cable to use with the G1, which is helpful to see kernel boot messages
on the serial console.