Ubuntu 10.10 Maverick Meerkat includes an ARM cross-compiler to compile programs for Linux. The compiler can also be used for bare-metal programming with a few arrangements.
QEMU is able to emulate ARM systems with multiple serial ports, for example the Versatile PB. It has the ability to direct them to many types of host resources such as standard I/O, a pseudo-terminal or a telnet port. I started from my hello world example for bare-metal ARM programs to control three different serial […]
QEMU is able to emulate ARM architectures with many details. One thing that the qemu-system-arm program implements is the Angel interface, that enables semihosting. Semihosting involves two machines: a target (the embedded device), and a host (such as a PC) that is connected to the target through a debug interface. An embedded program running in […]
Many Linux developers in these years are working on porting Linux software on ARM architectures. Debian in particular offers the full distribution to be installed on supported devices, and I wanted to try it out. There are already images prepared for the Versatile platform (thanks to AurĂ©lien Jarno), and with them it is possible to […]
The videos of the presentations held at the Embedded Linux Conference 2010 have been recently made public on Free Electrons. I was particularly interested in one speech: Custom Hardware Modeling for FPGAs and Embedded Linux Platforms with QEMU (PDF slides and OGV video). John Williams (PetaLogix) illustrates the work they have been doing on reducing […]
A tutorial that shows how to debug an ARM Linux program inside a platform emulated with QEMU. The tutorial uses gdbserver to connect the program executing in the guest system to the debugger running on the host system.
A reader pointed out that after the last Ubuntu release all my tutorials break because qemu-system-arm exits immediately with segmentation fault. Luckily I found out, by toying with the options, that by adding the memory option “-m 128M” it works. I wanted to file a bug in Ubuntu, and the procedure is pretty simple and […]
Booting Linux on QEMU ARM emulator mounting the root filesystem through NFS exports.
Using QEMU to emulate the complete boot procedure of an ARM system using U-Boot, the Linux kernel and Busybox.
Compiling and running Busybox for an emulated ARM platform, using CodeSourcery toolchain and QEMU.
December 5, 2010
21