Jump to content

AT91SAM7X256: Difference between revisions

From HW wiki
Pisa (talk | contribs)
New page: == Boards == == Emulator == 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...
 
Pisa (talk | contribs)
Use AT91 Qemu with DDD
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Boards ==
== Boards ==
== Toolchain ==
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_compilers|Cross-copilers article]] at this Wiki.
== Board software packages ==
The basic support for AT91SAM7X256 is included in [[System-Less_Framework|System-Less Framework]].
It has been provided by Tran Duy Khanh together with oc8n board support.


== Emulator ==
== Emulator ==
Line 28: Line 40:
Where option
Where option


* -gdb tcp::1234 (shortcat -s) .. directs qemu to accept GDB connections on TCP port 1234
* -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.
* -S .. option stops application startup and waits for GDB. The GDB command "c"ontinue is then used to start application.


Line 42: Line 54:
   
   
  arm-elf-gdb tests/demo_full_try2.elf --eval-command="target remote :1234"
  arm-elf-gdb tests/demo_full_try2.elf --eval-command="target remote :1234"
To run with [http://savannah.gnu.org/projects/ddd/ 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
c


== Links ==
== Links ==


 
* Filip Navara [https://dip.felk.cvut.cz/browse/details.php?f=F3&d=K13136&y=2009&a=navarfil&t=bach Diploma Thesis]
* Jakub Podlaha [http://nardi.alt.cz/fel-qemu-arm.html Notes to work with at91pes board under Linux] http://nardi.alt.cz/fel-qemu-arm.html
* Ondra Spinka and Pavel Nemecek [http://support.dce.felk.cvut.cz/e-kurzy/course/view.php?id=19 Y35PES course pages at DCE]


[[Category:ARM]]
[[Category:ARM]]

Latest revision as of 12:40, 20 September 2010

Boards

Toolchain

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.

Emulator

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 http://repo.or.cz/w/qemu/navara.git

git clone git://repo.or.cz/qemu/navara.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
c

Links