From HW wiki
Jump to navigation Jump to search



Use regular GCC/binutils/NewLib arm-elf soft-float cross-compilers build.

The Debian GNU/Linux packages are provided on this server. Look into Cross-copilers article at this Wiki.

Board software packages

The basic support for AT91SAM7X256 is included in System-Less Framework. It has been provided by Tran Duy Khanh together with oc8n board support.


The Qemu amulator has been extended by Filip Navara to support AT91 architecture and some peripherals of AT91SAM7X256 chip and at91pes board.

The sources are included in repository

git clone git://

The full emulator configuration for all tagets

./configure --enable-system --enable-linux-user --enable-io-thread --prefix=$(pwd)/bin

The minimal build of ARM target only can be made by

./configure --target-list=arm-softmmu --disable-kvm --prefix=$(pwd)/bin

To run emulator for at91pes board use

qemu-system-arm -M  at91pes -kernel tests/demo_full_try2.elf

To run with GDB support

qemu-system-arm -M at91pes -kernel tests/demo_full_try2.elf -gdb tcp::1234 -S

Where option

  • -gdb tcp::1234 (shortcut -s) .. directs qemu to accept GDB connections on TCP port 1234
  • -S .. option stops application startup and waits for GDB. The GDB command "c"ontinue is then used to start application.

The GDB to analyze given binary can be started by

arm-elf-gdb tests/demo_full_try2.elf

Then connect to target is achieved by GDB command

target remote :1234

Both steps can be automated by use of ".gdbinit" file or use of next GDB invocation line

arm-elf-gdb tests/demo_full_try2.elf --eval-command="target remote :1234"

To run with DDD (Data Display Debugger) start DDD with

ddd --debugger arm-elf-gdb

The connection to target can be automatized with use of ".gdbinit" script

file bin/main.elf
target remote :1234
b main