The ARM AEB-1 comes with tools in ROM. These include a simple
FLASH management tool and the Angel® monitor. eCos for
the ARM AEB-1 comes with GDB stubs suitable for programming into
the onboard FLASH. GDB is the preferred debug environment for GDB,
and while Angel provides a subset of the features in the eCos GDB
stub, Angel is unsupported.
Both eCos and the stubs support both Revision B and Revision
C of the AEB-1 board. Stub ROM images for both types of board can
be found in the loaders/arm-aeb directory under the root
of your eCos installation. You can select which board you are using
by selecting either the aeb or aebC platform by selecting the appropriate
platform HAL in the eCos Configuration Tool.
The GDB stub can be downloaded to the board for programming
in the FLASH using the board's on-board ROM monitor:
talk to the AEB-1 board with a terminal emulator (or
a real terminal!)
use the board's rom menu to download a UU-encoded
version of the GDB stubs which will act as a ROM monitor
tell the board to use this new monitor, and then hook
GDB up to it for real debugging
Connect a terminal or computer's serial port to the
ARM AEB-1. On a PC with a 9-pin serial port, you can use the cable
shipped by ARM with no modification.
Set the terminal or terminal emulator to 9600N1 (9600 baud,
no parity, 1 stop bit).
Reset the board by pressing the little reset button on the
top. You will see the following text:
ARM Evaluation Board Boot Monitor 0.01 (19 APR 1998)
Press ENTER within 2 seconds to stop autoboot
Press ENTER quickly, and you will get the boot prompt:
Using the AEB-1 rom menu to download the GDB stubs from the
provided ".UU" file.
Note: This is an annotated 'terminal' session
with the AEB-1 monitor:
+Boot: help
Module is BootStrap 1.00 (14 Aug 1998)
Help is available on:
Help Modules ROMModules UnPlug PlugIn
Kill SetEnv UnSetEnv PrintEnv DownLoad
Go GoS Boot PC FlashWrite
FlashLoad FlashErase
Boot: download c000
Ready to download. Use 'transmit' option on terminal
emulator to download file.
... at this point, download the ASCII file "loaders/arm-aeb/
gdb_module.img.UU". The details of this operation differ
depending on which terminal emulator is used. It may be
necessary to enter "^D" (control+D) when the download completes
to get the monitor to return to command mode.
Loaded file gdb_module.img.bin at address
0000c000, size = 19392
Verify that the eCos/"GDB stubs" module is now added
in the list of modules in the board:
Boot: rommodules
You should see output similar to the following:
Header Base Limit
04000004 04000000 040034a8 BootStrap 1.00 (14 Aug 1998)
04003a74 04003800 04003bc0 Production Test 1.00 (13 Aug 1998)
0400e4f4 04004000 0400e60f Angel 1.02 (12 MAY 1998)
0401c810 04018000 0401cbc0 eCos 1.3 (27 Jan 2000)
GDB stubs
Now make the eCos/"GDB stubs" module be the default
monitor:
Boot: plugin eCos
Note: Since the GDB stubs are always linked at the same address
(0x4018000), the operation of writing to the FLASH and selecting
the stubs as default monitor is an idempotent operation. You can
download a new set of stubs following the same procedure - you do
not have to unregister or delete anything.
Pre-built GDB stubs images are provided in the directory loaders/arm-aeb
relative to the root of your eCos installation, but here are instructions
on how to rebuild them if you should ever need to.
Start with a new document - selecting the
File
->
New
menu item if necessary to do this.
Choose the
Build
->
Templates
menu item, and then select the ARM AEB-1 hardware.
While still displaying the
Build->Templates
dialog box, select the "stubs" package template to build a GDB
stub image. Click
OK.
If applicable, set the "AEB board revision" option to
"C" from "B" depending on the board revision being used.
Build eCos using
Build
->
Library.
When the build completes, the image files can be found
in the bin/ subdirectory of the install tree. The GDB stub
ROM images have the prefix "gdb_module".
Make an empty directory to contain the build tree,
and cd into it.
To build a GDB stub ROM image, enter the command:
$ ecosconfig new aeb stubs
If applicable, edit ecos.ecc and set the AEB board revision. (CYGHWR_HAL_ARM_AEB_REVISION)
from the default "B" to "C" by uncommenting the user_value
property and setting it to "C".
Enter the commands
$ ecosconfig tree
$ make
When the build completes, the image files can be found
in the bin/ subdirectory of the install tree. The GDB stub
ROM images have the prefix "gdb_module".