Learn Embedded Linux with ARMulator
uClinux is an excellent way to study the embedded operating systems for an engineer, student, hobbyist, Linux-enthusiast. I am interested in Embedded Linux for ARM microcontroller. Before buying a new mcu evaluation board, there is a smart way to study the Embedded Linux. That is studying it with the emulator called ARMUlator.
I tested on Fedora Core 6 Linux with GCC 3.4.x (how to install gcc 3.4 for FC6).
What you get
Here are some files you can use to put together uClinux running in the GDB/ARMulator.
- gdb-5.0.tar.bz2 - The orginal gdb-5.0 archive.
- gdb-5.0-uclinux-armulator-20060104.patch.gz - Patches against gdb-5.0 based heavily on the ARMulator changes from Ben Williamson
with changes to behave like an Atmel AT91 device. - linux.2.4.x.gz - A precompiled uClinux kernel binaries that you can run in the emulator.
- romfs.2.4.x.gz - romfs images to use with the above kernels.
Building the Debugger/Emulator
tar xvf gdb-5.0.tar.bz2 gunzip gdb-5.0-uclinux-armulator-20060104.patch.gz patch -p0 < gdb-5.0-uclinux-armulator-20060104.patch cd gdb-5.0 export CC=gcc34 ./configure --target=arm-elf make make install
Running the precompiled binaries
The ARMulator expects the romfs to be in a file called “boot.rom”. You must use the matching kernel/romfs combo’s.
gunzip romfs.2.4.x gunzip linux.2.4.x ln -s romfs.2.4.x boot.rom arm-elf-gdb linux-2.4.x ... gdb> target sim ... gdb> load ... gdb> run
Finally, you should get something like this:









