April 2004BNon-ConfidentialSecond release. Added configuration details for USB
November 2005CNon-ConfidentialThird release. Corrected reported defects and added
debug, PCI, and Boot Monitor.
requested enhancements.
August 2006DNon-ConfidentialFourth release. Corrected reported defects and added
May 2007ENon-ConfidentialFifth release. Corrected reported defects and added
October 2007FNon-ConfidentialSixth release. Corrected reported defect.
April 2008GNon-ConfidentialSeventh release. Corrected reported defect.
March 2009HNon-ConfidentialEighth release. Corrected reported defect.
July 2010INon-ConfidentialNinth release. Document update.
requested enhancements.
requested enhancements.
Proprietary Notice
®
Words and logos marked with
or ™ are registered trademarks or trademarks owned by ARM Limited, except
as otherwise stated below in this proprietary notice. Other brands and names mentioned herein may be the
trademarks of their respective owners.
Neither the whole nor any part of the information contained in, or the product described in, this document
may be adapted or reproduced in any material form except with the prior written permission of the copyright
holder.
The product described in this document is subject to continuous developments and improvements. All
particulars of the product and its use contained in this document are given by ARM in good faith. However,
all warranties implied or expressed, including but not limited to implied warranties of merchantability, or
fitness for purpose, are excluded.
This document is intended only to assist the reader in the use of the product. ARM Limited shall not be liable
for any loss or damage arising from the use of any information in this document, or any error or omission in
such information, or any incorrect use of the product.
This document is Non-Confidential. The right to use, copy and disclose this document may be subject to
license restrictions in accordance with the terms of the agreement entered into by ARM and the party that
ARM delivered this document to.
Product Status
The information in this document is final, that is for a developed product.
This device is test equipment and consequently is exempt from part 15 of the FCC Rules under section 15.103
(c).
CE Declaration of Conformity
The system should be powered down when not in use.
The PB926EJ-S generates, uses, and can radiate radio frequency energy and may cause harmful interference
to radio communications. However, there is no guarantee that interference will not occur in a particular
installation. If this equipment causes harmful interference to radio or television reception, which can be
determined by turning the equipment off or on, you are encouraged to try to correct the interference by one
or more of the following measures:
•ensure attached cables do not lie across the card
•reorient the receiving antenna
•increase the distance between the equipment and the receiver
•connect the equipment into an outlet on a circuit different from that to which the receiver is connected
•consult the dealer or an experienced radio/TV technician for help
It is recommended that wherever possible shielded interface cables be used.
This document describes how to set up and use the RealView Platform Baseboard for
the ARM926EJ-S (PB926EJ-S).
Product revision status
The rnpn identifier indicates the revision status of the product described in this manual,
where:
rnIdentifies the major revision of the product.
pnIdentifies the minor revision or modification status of the product.
Intended audience
This document has been written for experienced hardware and software developers to
aid the development of ARM-based products using the PB926EJ-S as part of a
development system.
Using this manual
This document is organized into the following chapters:
Chapter 1 Introduction
Read this chapter for an introduction to the PB926EJ-S. This chapter
shows the physical layout of the board and identifies the main
components.
Chapter 2 Getting Started
Read this chapter for a description of how to set up and start using the
PB926EJ-S. This chapter describes how to connect the add-on boards and
how to apply power.
Chapter 3 Hardware Description
Read this chapter for a description of the hardware architecture of the
PB926EJ-S. This chapter describes the peripherals, clocks, resets, and
debug hardware provided by the board.
Chapter 4 Programmer’s Reference
Read this chapter for a description of the PB926EJ-S memory map and
registers. There is also basic information on the peripherals and
controllers present in the platform baseboard.
Denotes text that you can enter at the keyboard, such as
commands, file and program names, and source code.
monospace
Denotes a permitted abbreviation for a command or option. You
can enter the underlined text instead of the full command or option
name.
monospace italic
Denotes arguments to monospace text where the argument is to be
replaced by a specific value.
monospace
bold Denotes language keywords when used outside example code.
< and > Angle brackets enclose replaceable terms for assembler syntax
where they appear in code or code fragments. They appear in
normal font in running text. For example:
•
MRC p15, 0 <Rd>, <CRn>, <CRm>, <Opcode_2>
•The Opcode_2 value selects which register is accessed.
Timing diagrams
The figure named Key to timing diagram conventions explains the components used in
timing diagrams. Variations, when they occur, have clear labels. You must not assume
any timing information that is not explicit in the diagrams.
Shaded bus and signal areas are undefined, so the bus or signal can assume any value
within the shaded area at that time. The actual level is unimportant and does not affect
normal operation.
The PB926EJ-S provides a development system that you can use to develop products
around the ARM926EJ-S PXP Development Chip.
You can use the PB926EJ-S as a basic development system with a power supply and a
connection to a JTAG interface unit.
You can expand the PB926EJ-S by adding:
•ARM RealView Logic Tiles containing custom IP
•a PCI expansion enclosure
•Dynamic memory expansion board
•Static memory expansion board
•VGA monitor or CLCD adaptor and CLCD display
•MMC, SD, or SIM cards
•custom devices to the 32-bit GPIO
•USB devices to the three USB ports
•serial devices to the synchronous serial port and the four UARTs
•keyboard and mouse
•audio devices to the onboard CODEC
•an Ethernet network to the onboard Ethernet controller.
The basic system provides a good platform for developing code for the ARM7 and
ARM9 series of processors. The ARM926EJ-S PXP Development Chip is much faster
than a software simulator or a core implemented in RealView Logic Tiles. Code
developed for the ARM926EJ-S PXP Development Chip will also run on the ARM10
and ARM11 processor series.
The expanded system with RealView Logic Tiles can be used to develop
AMBA-compatible peripherals and to test ASIC designs. The fast processor core and
the peripherals present in the ARM926EJ-S PXP Development Chip, PB926EJ-S
FPGA, and RealView Logic Tile FPGA enable you to develop and text complex
systems operating at, or near, their target operating frequency.
Figure 1-1 on page 1-3 shows the layout of the PB926EJ-S.
—ARM926EJ-S processor that supports 32-bit ARM and 16-bit Thumb
instructions sets and includes features for direct execution of Java byte
codes. Executing Java byte codes requires the Java Technology Enabling Kit (JTEK)
—Tightly-Coupled Memory (TCM) for code (32KB) and data (32KB)
—cache memory for code (32KB) and data (32KB)
—Memory Management Unit (MMU)
—Multi-layer bus matrix that gives highly efficient simultaneous transfers
—MOVE
—MBX graphics accelerator
—Multi-Port Memory Controller (MPMC) for direct connection to dynamic
memory
—Synchronous Static Memory Controller (SSMC) for direct connection to
static (SRAM or flash) memory
—VFP9 Vector Floating Point coprocessor
—two external AHB master bridges and one external AHB slave bridge
—AHB monitor for detailed analysis of bus activity
For details on the ARM926EJ-S PXP Development Chip, see ARM926EJ-S PXP
Development Chip on page 3-3 and the ARM926EJ-S PXP Development Chip
Reference Manual.
1.2.3PB926EJ-S FPGA
The FPGA provides system control and configuration functions for the PB926EJ-S that
enable it to operate as a standalone development system or with expansion RealView
Logic Tiles or PCI cards. See FPGA on page 3-17.
The FPGA also implements additional peripherals, for example the audio CODEC,
USB, Ethernet and PCI interfaces.
1.2.4Displays
The ARM926EJ-S PXP Development Chip outputs signals for a color LCD display. An
external interface board can be connected to the CLCD connector to drive different size
displays.
The CLCD signals from the ARM926EJ-S PXP Development Chip are converted on the
PB926EJ-S to a VGA signal. The resolution of the VGA signal is configurable. See
Appendix C CLCD Display and Adaptor Board.
Introduction
There is also a two row by sixteen character display mounted on the PB926EJ-S. This
display can be used for debugging or as the output from applications.
1.2.5RealView Logic Tile expansion
The ARM RealView Logic Tiles, such as the LT-XC2V6000, enable the development
of AMBA AHB and APB peripherals, or custom logic, for use with ARM cores. You
can place standard or custom peripherals in the FPGA on the RealView Logic Tile.
Three AHB buses, the static memory interface, and the DMA and interrupt signals are
brought out to the RealView Logic Tile connectors. See Appendix F RealView Logic Tile.
The volatile memory system includes SSRAM and SDRAM memory. You can expand
this memory by installing external static or dynamic memory expansion boards.
The nonvolatile memory system consists of 128MB of 32-bit flash. The flash is
managed by the static memory controller in the ARM926EJ-S PXP Development Chip.
You can expand the flash memory by installing an external static memory expansion
board. See Appendix E Memory Expansion Boards.
1.2.7Clock generators
The PB926EJ-S contains the following clock sources:
•crystal oscillators (these are the reference frequencies for the Real Time Clock,
•five programmable ICS307 clock sources. Two of these are used as the reference
•if fitted, the PCI backplane or RealView Logic Tiles. The external clocks can be
USB, AACI, Ethernet, and programmable oscillators)
for the CPU system clock in the ARM926EJ-S PXP Development Chip and the
CLCD controller clock. The other three programmable clocks can be used as
external reference clocks for the AHB buses.
selected as the reference clocks for the PB926EJ-S.
See Clock architecture on page 3-35.
1.2.8Debug and test interfaces
The JTAG connector enables JTAG hardware debugging equipment, such as Multi-ICE
or RealView ICE, to be connected to the PB926EJ-S. The JTAG signals can also be
controlled by the on-board USB debug port controller. See JTAG and USB debug port support on page 3-96.
A Mictor connector on the PB926EJ-S enables monitoring of the ARM926EJ-S PXP
Development Chip Embedded Trace Macrocell (ETM9) signals by a Trace Port
Analyzer (TPA). The trace port is medium trace size (16-bit packet). See Trace
connector pinout on page A-37 for connection information.
This section contains safety information and advice on how to avoid damage to the
PB926EJ-S.
1.3.1Ensuring safety
The PB926EJ-S can be powered from one of the following sources:
•the supplied power supply connected to J35
•a bench power supply connected to the screw terminals on header J34
•an external PCI bus.
Do not supply more than one power source. If you are using the baseboard with the PCI
enclosure for example, do not connect a power source to J35 or J34.
To avoid a safety hazard, only connect Safety Extra Low Voltage (SELV) equipment to
the connectors on the PB926EJ-S.
1.3.2Preventing damage
Introduction
The PB926EJ-S is intended for use in a laboratory or engineering development
environment. If operated without an enclosure, the board is sensitive to electrostatic
discharges and generates electromagnetic emissions.
To avoid damage to the board, observe the following precautions.
•never subject the board to high electrostatic potentials
•always wear a grounding strap when handling the board
•only hold the board by the edges
•avoid touching the component pins or any other metallic element
•do not connect more than one power source to the platform
•always power down the board when connecting RealView Logic Tiles or
expansion boards.
Do not use the board near equipment that is:
•sensitive to electromagnetic emissions (such as medical equipment)
The following items are supplied with the PB926EJ-S:
•the PB926EJ-S printed-circuit board mounted on a metal tray
•an AC power supply that provides a 12VDC output
•a CD containing sample programs, Boot Monitor code, FPGA and PLD images,
and additional documentation
•this user guide.
To set up the PB926EJ-S as a standalone development system:
1.Set the configuration switches to select the boot memory location, operating
frequency, and FPGA image. See Setting the configuration switches on page 2-3.
2.If you are using memory expansion boards, connect them to the PB926EJ-S. See
Appendix E Memory Expansion Boards.
3.If you are using an external display:
•For VGA displays, connect the cable from the display to the VGA
connector on the PB926EJ-S.
•For CLCD displays, connect the CLCD adaptor board cable to the
PB926EJ-S. See Appendix C CLCD Display and Adaptor Board.
4.If you are using expansion Logic Tiles, mount the tile on the tile expansion
connectors. See Appendix F RealView Logic Tile and the manual for your Logic
Tile.
5.If you are using a Trace Port Analyzer (TPA), connect the Trace Port interface
buffer board. See Connecting the Trace Port Analyzer on page 2-10.
6.If you are using a debugger, connect to the JTAG or USB debug port on the board.
See Connecting JTAG debugging equipment on page 2-8.
7.Apply power to the PB926EJ-S. See Supplying power on page 2-13.
8.If you are using the supplied Boot Monitor software to select and run an
application, see Using the PB926EJ-S Boot Monitor and platform library on
page 2-14
If you are using the PB926EJ-S with the PCI backplane, see also Appendix D PCI Backplane and Enclosure.
Configuration switches S1 and S6, shown in Figure 2-1, control how the PB926EJ-S
configures itself and the action to take after reset.
Getting Started
Figure 2-1 Location of S1-1 and S6-1
2.2.1Boot memory configuration
The configuration switches S1-1 to S1-8 determine boot memory type, the FPGA
image, and the Logic Tile image, memory configuration, and FPGA options at power
on.
Use switch S1-1 and S1-2 to select the boot device as shown in Table 2-1 on page 2-4.
If the switch lever is down, the switch is ON. The default is OFF, switch lever up.
OFFOFFReserved (boot from NOR flash 2 - default setting)
OFF ONNOR flash 1, see Booting from NOR flash 1 on page 4-12
ONOFFReserved
ONONAHB expansion memory, see Booting from AHB expansion memory on page 4-14
Configuration switches S1-1 to S1-8 are not normally changed from their factory
default positions listed in Table 2-2. For more information on configuration switch S1,
see Configuration control on page 3-7.
Table 2-2 Default switch positions
SwitchDefaultFunction in default position
S1-1 and S1-2OFFSelects NOR flash 2 as boot memory
S1-3OFFSelects synchronous AHB bridge mode.
S1-4OFFReserved (SSMC enabled), leave in OFF position
S1-5OFFSelects OSCCLK frequency of 35MHz.
S1-6 and S1-7OFFSelects PB926EJ-S FPGA image 0
S1-8OFFSelects Logic Tile FPGA image 0
For information on other configuration links see Test, configuration, and debug interfaces on page 3-94. For the function of the status LEDs see LED Indicators on
page 2-5,
Table 2-3 lists the PB926EJ-S LED indicators and their function.
LED IDColorDeviceFunction
5V OKGreenD29Indicates that the 5V power supply is on
3V3 OKGreenD34Indicates that the 3V3 power supply is on
StandbyRedD39Indicates that the PB926EJ-S is in standby mode and the
ConfigAmberD44Indicates that the PB926EJ-S is in configuration mode.
Getting Started
Table 2-3 LED Indicators
power is off. This LED only functions when power is
supplied to the board via connector J35
Configuration mode is entered by fitting the CONFIG
link J32 on the board and powering-up
The CONFIG link is a switch on some board versions.
FPGA
Config
DEV CHIP
Reconfig
YellowD6Directly indicates the status of the FPGA Config
pushswitch S4. LED is off when the switch is pressed
BlueD3Directly indicates the status of the DEV CHIP Reconfig
pushswitch S5. LED is off when the switch is pressed
ResetAmberD4Directly indicates the status of the Reset pushswitch S2.
LED is off when the switch is pressed
GP (User)
Pushswitch
GP (User)
LEDs
GreenD5Directly indicates the status of the general purpose
pushswitch S3. LED is off when the switch is pressed
GreenD12-18,
D20
Eight general purpose LEDs. These LEDs are controlled
individually by the lower eight bits of the SYS_LED
register. See User switches and LEDs on page 3-87 for
further details
EthernetGreen
Ye ll o w
J5Ethernet activity indicators. These LEDs are integral to
the Ethernet connector J5 and are configured by writing
to a register in the LAN91C111 fast Ethernet controller.
See Ethernet interface on page 3-68 for further details
Global
Done
GreenD8Indicates that all the FPGA devices on the Logic Tiles
The setting of S6-1 determines whether the Boot Monitor starts after a reset:
S6-1 OFF A prompt is displayed enabling you to enter Boot Monitor commands.
S6-1 ON The Boot Monitor executes a boot script that has been loaded into flash.
The boot script can execute any Boot Monitor commands. It typically
selects and runs an image in application flash. You can store one or more
code images in flash memory and use the boot script to start an image at
reset. Use the
Boot Monitor (see Table 2-4 on page 2-15).
Output of text from STDIO for both applications and Boot Monitor I/O depends on the
setting of S6-3:
S6-3 ON STDIO is redirected to UART0. This occurs even under semihosting.
S6-3 OFF STDIO autodetects whether to use semihosting I/O or a UART. If a
debugger is connected and semihosting is enabled, STDIO is redirected
to the debugger console window. Otherwise, STDIO goes to the UART.
S6-3 does not affect file I/O operations performed under semihosting. Semihosting
operation requires a debugger and a JTAG interface device. See Redirecting character output to hardware devices on page 2-21 for more details on I/O.
SET BOOTSCRIPT
Getting Started
command to enter a boot script from the
Switch S6-2 and S6-4 to S6-8 are not used by the Boot Monitor and are available for
user applications.
You can use JTAG debugging equipment and the JTAG connector, or the USB debug
port, to:
•connect a debugger to the ARM926EJ-S core and download programs to memory
and debug them
•program new configuration images into the configuration flash, FPGA, and PLDs
on the board. (You cannot program the normal flash from configuration mode.)
The setup for using a JTAG interface with the PB926EJ-S is shown in Figure 2-2.
Figure 2-2 JTAG connection
The setup for using the USB debug port on the PB926EJ-S is shown in Figure 2-3 on
page 2-9. The PB926EJ-S contains logic that interfaces the USB debug port to the
onboard JTAG signals.
For more details on JTAG debugging and selection between the JTAG and USB debug
connector, see JTAG and USB debug port support on page 3-96. If you are using the
®
ARM RealView
Debugger, see Appendix G Configuring the USB Debug Connection
The ARM926EJ-S PXP Development Chip incorporates an ARM9 Embedded Trace
Macrocell (ETM9). This enables you to carry out real-time debugging by connecting
external trace equipment to the PB926EJ-S. The ETM9 monitors the program execution
and sends a compressed trace to the Trace Port Analyzer (TPA). The TPA buffers this
information and transmits it to the debugger where it is decompressed and used to
reconstruct the complete instruction flow. The trace size is medium (16-bit packets).
For MultiTrace, connect the TPA to the buffer board and plug the adaptor into the
PB926EJ-S as shown in Figure 2-4. MultiTrace requires a Multi-ICE JTAG unit.
Figure 2-4 Example of MultiTrace and JTAG connection
For RealView Trace, connect the Trace Port Analyzer (TPA) to the adaptor board and
plug the adaptor into the PB926EJ-S as shown in Figure 2-4. RealView Trace requires
a RealView ICE JTAG unit. The Ethernet and power supply cables connect to the
RealView ICE unit.
ETM The Embedded Trace Macrocell is part of the ARM926EJ-S PXP
Trace connector and adaptor board
JTAG unit This is a protocol converter that converts debug commands from the
Trace Port Analyzer
Development Chip. It monitors the ARM core buses and outputs
compressed information through the trace port to a trace connector. The
on-chip ETM contains trigger and filter logic to control what is traced.
The trace connector enables you to connect a TPA to the PB926EJ-S. The
connector is a high-density AMP Mictor connector. The pinout for this
connector is provided in Test and debug connections on page A-33.
The adaptor board buffers the high-speed signals between the Trace
connector and the Trace Port Analyzer.
debugger into JTAG messages for the ETM.
The TPA is an external device (such as RealView Trace) that connects to
the trace connector (through the adaptor board) and stores information
sent from the ETM.
Debugger and Trace software
The debugger and trace software controls the JTAG, ETM, and Trace Port
Analyzer. The trace software reconstructs program flow from the
information captured in the Trace Port Analyzer.
The trace and debug components must match the debugger you are using:
ARM eXtended Debugger (AXD)
AXD is a component of the ARM Developer Suite (ADS). Use AXD with
Multi-ICE, Trace Debug Toolkit, and Multi-Trace.
ARM RealView Debugger (RVD)
RVD is a component of RealView Compilation Tools (RVCT). Use RVD
with RealView ICE and RealView Trace or with Multi-ICE and
Multi-Trace.
When using the PB926EJ-S as a standalone development system, you must connect the
supplied brick power supply to power socket J35 or an external bench power supply to
the screw-terminal connector. See Figure 2-6.
Getting Started
Figure 2-6 Power connectors
If you are using the supplied brick power supply connected to J35, the Standby/power
pushbutton toggles the power on and off.
If you are using an external power supply connected to J34, or you are powering the
board from the PCI backplane, the Standby/power switch is not used and power is
controlled by shutting down the external power source.
You can use only one power source for the system. Use only the PCI connector, J34, or
J35. Do not, for example, use the PCI connector and J34 at the same time.
2.6Using the PB926EJ-S Boot Monitor and platform library
The PB926EJ-S Boot Monitor is a collection of tools and utilities designed as an aid to
developing applications on thePB926EJ-S.
When the Boot Monitor starts on reset, the following actions are performed:
•clock dividers are loaded with appropriate values
•the memory controllers are initialized
•a stack is set up in memory
•Boot Monitor code is copied into SDRAM
•C library I/O routines are remapped and redirected
•the current bootscript, if any, is run.
2.6.1Running the Boot Monitor
To run Boot Monitor and have it display a prompt to a terminal connected to UART0,
set switch S6-1 to OFF and reset the system. Standard input and output functions use
UART0 by default. The default setting for UART0 is 38400 baud, 8 data bits, no parity,
1 stop bit. There is no hardware or software flow control.
If the Boot Monitor has been accidently deleted from flash memory, it can be rebuilt and
reloaded. See Rebuilding the Boot Monitor on page 2-18.
Boot Monitor commands
The command interpreter accepts user commands from the debugger console window
or an attached terminal and carries out actions to complete the commands.
Commands are accepted in uppercase or lowercase. The Boot Monitor accepts
abbreviations of commands if the meaning is not ambiguous. For example, for
can type
Clear the current boot script. The Boot Monitor will prompt for input on reset even if the
S6-1 is set to ON to indicate that a boot script should be run.
Enter Configure subsystem. Commands listed in Table 2-5 on page 2-16 can now be
executed.
Provides information to the system that is required by the RUN command in order to
execute a binary file. A new file with name
binary_file
is produced, but with an
.exe
file
extension.
Enter the debug subsystem. Commands listed in Table 2-6 on page 2-16 can now be
executed.
Disable both the I and D caches.
Display the current boot script.
Echo
text
to the current output device.
Enable both the I and D caches.
Exit the Boot Monitor. The processor is held in a tight loop until it is interrupted by a JTAG
debugger.
Enter the flash file system for the NOR flash on the PB926EJ-S. See Table 2-7 on
page 2-17 for flash commands.
HELP
QUIT
SET BOOTSCRIPT
script_fileSpecify
List the Boot Monitor commands.
Alias for
script_file
EXIT
. Exit the Boot Monitor.
script_file
as the boot script. If the run boot script switch S6-1 is ON,
will be run at system reset.
Table 2-5 on page 2-16 lists the commands for the Configure subsystem.
You must reset the board for the Boot Monitor Configure commands to take effect
Write an ELF image file to flash. By default, the image is identified by its file name. For
example, t:\images\boot_monitor.axf is identified as boot_monitor. Use
specify a name instead of using the default name.
FLASH_ADDRESS address
Use
is linked to run from flash, the link address is used and
Remote file access requires semihosting. Use a debugger connection to provide
semihosting.
2.6.2Rebuilding the Boot Monitor
address
in NOR flash. This space can be used by the Boot
to specify a name instead of using the default name.
to specify where in flash the image is to be located. The
and
ENTRY_POINT
arguments enable you to specify the load address
to specify where in flash the image is to be located. If the image
address
is ignored.
NAME new_name
to
All firmware components are built using GNUmake, which is available for UNIX,
Linux and for most Windows versions. (To use GNUmake under windows Cygwin must
be installed, for more information contact Redhat.)
Because the platform library used by the Boot Monitor requires callout startup routines
support specific to RVCT, the Boot Monitor (and any application that uses the platform
library for directing STDIO) can only be rebuilt using RVCT tools.
To rebuild the Boot Monitor, set your default directory to
install_directory/Firmware/Boot_Monitor
You can specify the following build options after the
If the flash becomes corrupt and the board no longer runs the Boot Monitor, the Boot
Monitor must be reprogrammed into flash.
The Boot Monitor is normally located in NOR flash 2 instead of NOR flash 1. You can,
however, load the Boot Monitor into NOR flash 1 instead of NOR flash 2 if this is
requiredfor a specific application.
Because the debugger does not initialize SDRAM, the Boot Monitor image cannot be
loaded and run directly. Use the scripts in the
the board:
1.Power off the board
2.Set switch S1-1 to ON to select booting from NOR flash 1
Set switch S1-1 to OFF to select booting from NOR flash 2
Set all other S1 switches to OFF
Set all S6 switches to OFF.
BoardFiles
directory on the CD to setup
3.Connect a RealView ICE or Multi-ICE to the JTAG port or a debug cable to the
USB debug port.
4.Power on the board.
5.Connect the debugger to the target
•For ARM eXtended Debugger, from the Command Line Interface
Debug > Obey VPB926EJS_SDRAM_Init_axd.li
•For RealView Debugger:From the Debug menu → Include Commands
From File
Select VPB926EJS_SDRAM_Init_rvd.li
6.SDRAM is now initialized and the memory is remapped.
7.From the debugger, load and execute the file
Boot_Monitor.axf
8.Load the image into one of the NOR flash memories:
•To load the image to NOR flash 2, at the Boot Monitor prompt enter:
>FLASH
Flash> WRITE IMAGE path\Boot_Monitor.axf NAME boot_monitor
FLASH_ADDRESS 0x30000000
•To load the image to NOR flash 1, at the Boot Monitor prompt enter:
>FLASH
Flash> WRITE IMAGE path\Boot_Monitor.axf NAME boot_monitor
FLASH_ADDRESS 0x34000000
where path is the directory (
C:\temp
monitor image.
Very long path names can cause problems with semihosting. To avoid this, move
the image to a temporary directory.
9.Loading the image into flash takes a few minutes to complete. Wait until the
prompt is displayed again before proceeding.
10.Turn the board off and then on.
Boot Monitor starts automatically.
2.6.4Redirecting character output to hardware devices
The redirection of character I/O is carried out within the Boot Monitor platform library
routines in
retarget.c
and
boot.s
. During startup, the platform library executes a
SoftWare Interrupt instruction (SWI). If the image is being executed without a debugger
(or the debugger is not capturing semihosting calls) the value returned by this SWI is
–1, otherwise the value returned is positive. The platform library uses the return value
to determine the hardware device used for outputting from the C library I/O functions.
(Redirection is through a SWI to the debugger console or directly to a hardware device)
(default destination if debugger is not capturing semihosting calls)
•
:UART-1
•
:UART-2
•
:UART-3
•
:CHARLCD
.
The STDIO calls are redirected within
of switch S6-3, see Boot Monitor configuration on page 2-7.
2.6.5Rebuilding the platform library
All firmware components are built using GNUmake, which is available for UNIX,
Linux and for most Windows versions. (To use GNUmake under windows Cygwin must
be installed, for more information contact Redhat.)
To rebuild the platform library component, set your default directory to
install_directory/Firmware/platform
The platform library has a number of build options that can be specified with the
command:
The build options define the directory that contains the compile and link output. The
make file creates a directory called
directory contains subdirectories for the specified
Debug_ARM_Little_Endian
Builds
directory, type
retarget.c
and type
. Redirection depends on the setting
make
from a DOS command line.
, defining image endianness (Default 0, little endian)
Builds
if it is not already present. The
make
options (for example,
Builds
). To delete the objects and images for all targets and delete the
2.6.6Building an application with the platform library
Note
The platform library on the CD provides all required initialization code to bring the
PB926EJ-S up from reset. The library is used by the Boot Monitor, but it can be used
by an application independently of the other code in the Boot Monitor.
The platform library supports:
•remapping of boot memory
•SDRAM initialization
•UARTs
•Time-of-Year clock
•output to the character LCD display
•C library system calls.
To build an image that uses the I/O and memory control features present in the platform
library:
Getting Started
1.Write the application as normal. There must be a
2.Link the application against the Boot Monitor platform library file
subdirectory that matches your application. For example,
for ARM code.
__main
main()
and the region
routine in the application.
platform.a
.
). Choose the
__main
to be the first
section in the execution region:
-entry __main -first __main
If you are not using the
platform.a
library, you must provide your own
initialization and I/O routines.
You can also build the platform library functionality directly into your application
without building the platform code as a separate library. This might be useful, for
example, if you are using an IDE to develop your application.
See the
included on the CD. The
filelist.txt
file in the
selftest
software
directory for more details on software
directory, for example, contains source files
that can be used as a starting point for your own application.
To run the image from RAM, load the image with a debugger and execute as normal.
The image uses the procedure described in Redirecting character output to hardware devices on page 2-21 to redirect standard I/O either to the debugger or to be handled by
the application itself.
2.6.7Loading and running an application from NOR flash
To run an image from NOR flash:
1.Build the application as described in Building an application with the platform library on page 2-23 and specify a link address suitable for flash. There are the
following options for selecting the address:
Load region in flash
The image is linked such that its load region, though not necessarily its
execution region, is in flash. The load region specified when the image
was linked is used as the location in flash and the FLASH_ADDRESS
option is ignored. If the blocks in flash are not free, the command fails.
Use the
FLASH RUN
command to run the image.
Load region not in flash and image location not specified
The image is programmed into the first available contiguous set of
blocks in flash that is large enough to hold the image. Use the
LOAD
and then the
FLASH RUN
Load region not in flash, but image stored at a specified flash address
Use the FLASH_ADDRESS option to specify the location of the
image in flash. If the option is not used, the image is programmed into
the first available contiguous set of blocks in flash that is large enough
to hold the image. Use the
FLASH LOAD
and run the image.
FLASH
commands to load and run the image.
or
FLASH RUN
commands to load
Images with multiple load regions are not supported.
If the image is loaded into flash, but the
FLASH RUN
command relocates code to
SDRAM for execution, the execution address must not be in the top 4MBytes of
SDRAM since this is used by the Boot Monitor.
2.The image must be programmed into flash using the Boot Monitor. Flash support
is implemented in the Boot Monitor image.
Run the Boot Monitor image from the debugger and enter the flash subsystem,
type
The ARM926EJ-S PXP Development Chip incorporates the following features:
ARM926EJ-S
®
The ARM926EJ-S CPU is a member of the ARM9 Thumb
family. The
ARM926EJ-S (r0p3) macrocell is a 32-bit cached processor with
ARMv5TE architecture that supports the ARM and Thumb instruction
sets and includes features for direct execution of Java byte codes.
Executing Java byte codes requires the Java Technology Enabling Kit
(JTEK).
The ARM926EJ-S contains a Memory Management Unit (MMU), 32KB
data and instruction caches, and 32KB of data and instruction Tightly Coupled Memory (TCM). The TCM operates with a single wait-state and
provides higher data rates than external memory.
ETM9 The Embedded Trace Macrocell (ETM) provides signals for off-chip
trace. The ETM transmits a 16-bit packet to an external trace port
analyzer where the signals can be stored and later analyzed to reconstruct
the code flow.
VFP9 This high-performance, low-power Vector Floating-Point (VFP)
coprocessor implements the VFPv2 vector floating-point architecture.
MOVE The MOVE coprocessor is a video encoding accelerator designed to
accelerate Motion Estimation (ME) algorithms within block-based video
encoding schemes such as MPEG4 and H.263. For more information on
the MOVE coprocessor, see the ARM MOVE Coprocessor Technical Reference Manual.
MBX This high-performance graphic accelerator operates on 3D scene data (as
batches of triangles) sent from the main processor. Triangles are written
directly to a tile accelerator so that the CPU is not stalled during
processing. For more information on the MBX coprocessor, see the ARM MBX HR-S Graphics Core Technical Reference Manual.
Clock control
The ARM926EJ-S PXP Development Chip contains deskew PLL that
uses an external reference clock to generate internal clocks for the CPU,
AHB bus, memory, and off-chip peripherals. Dividers in the chip are
programmable and give considerable flexibility in clock rates for the
CPU, bridges, and memory.
AHB buses The ARM926EJ-S processor uses two separate AHB masters for
instructions and data to maximize system speed. The DMA controller has
two AHB masters. The CLCD controller has one AHB master.
There are also two expansion master buses (AHB M1 and AHB M2) and
one expansion slave bus (AHB S). The expansion bus bridges are
configurable to support different performance and complexity trade-offs.
A bus matrix inside the ARM926EJ-S PXP Development Chip manages
the multiple paths between each master and the peripherals and memory.
The AHB Monitor provides information on bus accesses that can be
recorded by an attached logic analyzer. The bus accesses and other
performance information can be recorded to aid software profiling. See
AHB monitor on page 3-16 and the ARM926EJ-S PXP Development Chip
Reference Manual for more information.
Memory controllers
The ARM926EJ-S PXP Development Chip includes a multi-port
memory controller (for dynamic memory) and a static memory
controller. Both controllers have 32-bit interfaces to external memory.
See Memory interface on page 3-15.
DMA controller
The PrimeCell DMAC enables peripheral-to-memory,
memory-to-peripheral, peripheral-to-peripheral, and
memory-to-memory transactions. See DMA on page 3-65.
Interrupt controller
The PrimeCell VIC provides an interface to the interrupt system and
provides vectored interrupt support for high-priority interrupt sources
from:
•peripherals in the ARM926EJ-S PXP Development Chip
•peripherals in the FPGA (a secondary interrupt controller is present
in the FPGA)
•peripherals in expansion Logic Tiles.
See Interrupts on page 3-72.
CLCD controller
The CLCDC provides a flexible display interface that supports a VGA
monitor and color or monochrome LCD displays. See CLCDC interface
on page 3-61.
UARTs The UARTs perform serial-to-parallel conversion on data received from
a peripheral device and parallel-to-serial conversion on data transmitted
to the peripheral device. See UART interface on page 3-88.
Timers There are four 32-bit down counters that can be used to generate
Synchronous serial port
Smart Card interface
Watchdog A Watchdog module can be used to trigger an interrupt or system reset in
3.1.2Configuration control
The PB926EJ-S uses configuration switches and the SYS_CFGDATAx registers in the
FPGA to control configuration of the ARM926EJ-S PXP Development Chip at
power-up. In a typical product, configuration is static and the configuration signals are
tied HIGH or LOW as appropriate.
Hardware Description
interrupts at programmable intervals. A Real-Time-Clock is fed with an
external 1Hz signal.
The SSP provides a master or slave interface for synchronous serial
communications using Motorola SPI, TI, or National Semiconductor
Microwire devices.
The Smart Card interface signals are programmable to enable support for
a Smart Card, Security Identity Module (SIM) card, or similar module.
the event of software failure.
After reset, configuration can be modified by the system controller and the
configuration registers in the FPGA. For example, you can simulate a system that boots
in big-endian or with the vector table located at address
0xFFFF0000
by changing the
value of bits 0 and 1 in the SYS_CFGDATA2 register and pressing the SDC
RECONFIG button.
See Status and system control registers on page 4-17 and Configuration registers SYS_CFGDATAx on page 4-25.
The S1 boot option select switches are listed in Table 3-1. For more information on
setting boot memory options, see Setting the configuration switches on page 2-3 and
Configuration and initialization on page 4-9, and Boot Select Register, SYS_BOOTCS
on page 4-34. Switch S1 values determine the BOOTCSSEL[7:0] signals. (S1-1
controls BOOTCSSEL0 and S1-8 controls BOOTCSSEL7.)
Table 3-1 Configuration switch S1
S1-1
and
S1-2
S1-3Forces asynchronous AHB bridge mode.
S1-4Reserved for selection of the controller to use for static memory.
S1-5Selects low-frequency startup mode. OSCCLK0 is programmed for 10MHz.
S1-6
and
S1-7
Controls the chip select signals for the static memory, see also Setting the configuration switches
on page 2-3.
The factory default setting is booting from NOR flash 2, S1-1 OFF and S1-2 OFF.
The factory default is OFF, the mode for each bridge is selected by the value of bits [24:22] of the
SYS_CFGDATA2 register. The default for the register bits is LOW, synchronous mode used for
all bridges, see Configuration registers SYS_CFGDATAx on page 4-25.
The factory default is OFF.
This switch must not be changed from the default position as the functionality is not supported.
This startup mode is used, for example, when there is an external Logic Tile connected that cannot
support high frequency at startup.
The factory default is OFF.
See Selecting slow start on page 3-50.
Selects one of four PB926EJ-S FPGA images to load on power up (or after the FPGA CONFIG
button is pressed).
The factory default is FPGA image zero, S1-7 OFF and S1-6 OFF.
Only one image is supplied with the PB926EJ-S. See FPGA configuration on page 3-18.
S1-8Logic Tile stack image. Selects one of two Logic Tile FPGA images to load on power up.
The factory default is Logic Tile FPGA image zero, S1-8 OFF. See the documentation provided
with your Logic Tile for details on the FPGA_IMAGE signal.
Configuration from the DEV CHIP RECONFIG pushbutton
FPGA registers SYS_CFGDATA1 and SYS_CFGDATA2 contain configuration data
that is applied to the ARM926EJ-S PXP Development Chip when the DEV CHIP
RECONFIG pushbutton is pressed.
When nPBSDCREFCONFIG is asserted, the configuration values stored in the FPGA
configuration registers are output to the development chip data bus (HDATAM1 and HDATAM2) pins.
Figure 3-2 Configuration signals from SYS_CFGDATAx
The configuration block in the development chip samples the state of the HDATAMx
pins while the rest of the chip is held in reset. The state of these pins is stored and used
to drive configuration signals within the chip and to define the operating mode of the
chip when reset is released. For more detail on the configuration signals, see
Configuration registers SYS_CFGDATAx on page 4-25 and the ARM926EJ-S
Development Chip Reference Manual.
For details on configuring the clocks, see ARM926EJ-S PXP Development Chip clocks
on page 3-39.
Changing the ARM926EJ-S PXP Development Chip configuration at
runtime
To change the configuration of the ARM926EJ-S PXP Development Chip:
1.Program the appropriate values in the SYS_CFGDATAx registers, see
Configuration registers SYS_CFGDATAx on page 4-25.
2.Perform a configuration reset of the PB926EJ-S, but do not power-cycle, by
either:
•pressing the DEVCHIP RECONFIG pushbutton (next to the blue LED)
•programming the reset-depth register to level 2 (see Reset Control Register,
SYS_RESETCTL on page 4-31) and then performing a normal reset from
software, the reset pushbutton, or JTAG.
Restoring the default configuration
To restore the default processor configuration, power-cycle the PB926EJ-S or press the
FPGA CONFIG pushbutton (next to the yellow LED).
3.1.3AHB bridges and the bus matrix
The ARM926EJ-S PXP Development Chip is based on the ARM926EJ-S PrimeXSys
Platform. The PrimeXSys Platform contains a multi-layer AHB bus matrix that routes
the signals from six masters to a number of slaves. These six masters are CPU-D,
CPU-I, DMA port0, DMA port1, CLCDC, Expansion master. The slaves include
internal AHB-APB bridges, the MPMC and SSMC memory controllers and three
expansion slaves, one of which is the internal AHB monitor block. (See Figure 3-1 on
page 3-4).
External masters drive the ARM926EJ-S PXP Development Chip AHB S port which
goes through an AHB-AHB bridge to the expansion master port on the matrix. This
master can access most of the slaves within the ARM926EJ-S PXP Development Chip,
including the GX175 MPMC (SDRAM controller), the PL093 SSMC (static memory
controller), and the expansion slaves.
External slaves are connected to the ARM926EJ-S PXP Development Chip AHB M1
and AHB M2 ports. Two of the expansion slave ports on the internal bus matrix are fed
to AHB-AHB bridges which drive the AHB M1 and AHB M2 ports. These ports are
accessible by all five of the internal masters and the expansion master connected to the
AHB S port.
Simultaneous access
Figure 3-3 on page 3-12 shows how the matrix allows multiple masters to use the buses
at the same time:
•The ARM926EJ-S Data AHB master is accessing
0x10004000
and this decodes to
the external AHB M2 bus (the CODEC interface in the FPGA).
•The ARM926EJ-S Instruction AHB master is accessing
0x02000000
and this
decodes to dynamic memory on one of the MPMC slaves (DYCS0).
•The CLCDC master is accessing
0x01000000
and this decodes to dynamic memory
on one of the MPMC slaves (DYN CS0). The MPMC will manage the multiple
accesses to the slave ports.
•The DMAC is doing a memory to peripheral transfer. DMA master 1 is accessing
0x38000000
0x80000000
which decodes to static memory (SRAM). DMA master 0 is accessing
which is mapped to the AHB M1 bus (if a Logic Tile is installed, the
tile must decode this access and provide a response).
•An external master in the PCI controller or a Logic Tile is accessing
The default memory map for each of the internal buses is slightly different as shown in
Figure 3-4 on page 3-13 and Figure 3-5 on page 3-14.
The AHB S bus is driven by the PCI bridge in the FPGA or by an external Logic Tile.
Do not use the FPGA PCI master to AHB S bus path to drive the PCI M2 addresses at
0x41000000–0x6FFFFFFF
.
For more information on the system buses, see Memory map on page 4-3, AHB buses
used by the FPGA and RealView Logic Tiles on page F-11, and the ARM926EJ-S
Development Chip Reference Manual.
Memory access is provided by a MultiPort Memory Controller (MPMC) and a Static
Memory Controller (SSMC) located in the ARM926EJ-S PXP Development Chip. One
or two expansion memory boards can be added to increase the amount of flash, SRAM,
and SDRAM memory.
Memory (or memory-mapped peripherals) can also be accessed on an optional Logic
Tile or PCI card.
Hardware Description
The memory at
0x00000000
and
0x34000000
at boot time is determined by the boot select
switches and the remap signals (see Memory aliasing at reset on page 3-27). The region
at
0x80000000–0xFFFFFFFF
is recommended for accesses to a Logic Tile. PCI cards must
be initialized before use (see PCI configuration on page 4-79).
The ARM926EJ-S PXP Development Chip contains a multi-layer AHB system to
provide high bandwidth connectivity between the various bus masters and slaves both
within and outside the ARM926EJ-S PXP Development Chip.
The AHB layer monitors observe the activity on their respective bus signals to produce
real-time information that is exported off-chip to a logic analyzer.
The AHB monitor also contains event counters that monitor bus transactions. The event
counters can be accessed through the both the ARM DATA AHB and ARM AHB S
buses. The event counters provide a simple mechanism for monitoring bus utilization.
The AHB debug port consists of 33 output pins that export status data packets at the
AHB clock rate. A localized clock is exported on AHBMONITOR[33]. The interface
between the development chip and the debug connector is shown in Figure 3-7.
The base address of the AHB monitor is at
0x101D0000
.
Figure 3-7 AHB monitor connection
See the ARM926EJ-S Reference Manual and AHB monitor on page 4-41.
•Advanced Audio Codec Interface, AACI on page 3-56
•Character LCD controller on page 3-59
•Ethernet interface on page 3-68
•Keyboard/Mouse Interface, KMI on page 3-74
•Memory Card Interface, MCI on page 3-75
•PCI interface on page 3-79
•Smart Card interface, SCI on page 3-81
•User switches and LEDs on page 3-87
•UART interface on page 3-88
•USB interface on page 3-92.
The ARM926EJ-S PXP Development Chip and FPGA buses on the PB926EJ-S are
shared with the Logic Tile headers. If you are using a Logic Tile, ensure that the tile
manages the bus signals correctly (AHB buses used by the FPGA and RealView Logic Til es on page F-11).
3.2.1FPGA configuration
At power-up the FPGA loads its configuration data from a flash memory device.
Parallel data from the flash memory is streamed by the configuration PLD into the
configuration ports of the FPGA. Figure 3-9 on page 3-19 and Figure 3-10 on page 3-20
show the FPGA configuration mechanism. The image loaded into the FPGA is
determined by configuration switches S1-6 and S1-7 as listed in Table 3-2 on page 3-19.
The configuration flash can hold four FPGA images. However, only one FPGA image
is provided.
The configuration flash is a separate device and not part of the user flash.
You can use a JTAG debugger or the Progcards utility to reprogram the PLDs, FPGA,
and flash if the PB926EJ-S is placed in configuration mode. See also JTAG and USB debug port support on page 3-96.
The PB926EJ-S is supplied with the configuration PLD and flash image already
programmed. The information in this section is provided, however, in case of accidental
erasure of the configuration PLD or flash image.
You are advised not to reprogram these devices with any images other than those
provided by ARM Limited.
Program the configuration PLD as follows:
1.Connect an interface cable to either the JTAG or USB debug port.
2.Put the PB926EJ-S into configuration mode by fitting the CONFIG link J32 on
the board and powering-up.
The CONFIG link is a switch on some board versions.
5.Choose the required image for the configuration PLD.
The 1.5V cell battery provides the VBATT backup voltage to the external DS1338
time-of-year clock and FPGA encryption key circuitry within the FPGA. Removing the
battery erases the encryption key.
Each board is provided with an encryption key that is unique to the board. The standard
image supplied with the board is not encrypted. However, encrypted images might be
supplied by ARM in the future. If you are using encrypted images and the key is erased,
you must return the board to ARM to have the key reloaded.
The battery is expected to last for approximately 10 years from manufacture of the
PB926EJ-S. To replace the battery:
1.Power on the PB926EJ-S. If the battery is removed while the board is powered
down, the encryption key will be erased.
2.Remove the old battery.
3.Insert the new battery and ensure that the positive terminal is facing upwards in
the holder.
The reset controller initializes the ARM926EJ-S PXP Development Chip, the FPGA,
and external controllers as a result of a reset. The PB926EJ-S can be reset from the
following sources:
•power failure
•reset button
•PCI backplane
•Logic Tiles
•JTAG
•software.
Use the RESET pushbutton (nPBRESET), the JTAG reset signal (nSRST), the PCI
backplane reset signal (P_nRST), the Logic Tile reset signal (nSYSPOR or nSRST
from the tile), or a software reset to reset the ARM926EJ-S core. The current
ARM926EJ-S PXP Development Chip configuration settings are retained. (The effect
of these reset sources pushbutton can be modified by setting the reset level flags, see
Reset level on page 3-24.)
Use the DEV CHIP RECONFIG pushbutton to reset the processor and reload the chip
configuration settings from the FPGA configuration registers.
Use the FPGA CONFIG pushbutton to reload the FPGA image without repowering the
entire system. The FPGA configuration registers are reloaded with their default values.
(Pressing FPGA CONFIG also resets the core and reloads the Logic Tile images.)
3.3.1Reset and reconfiguration logic
Figure 3-11 on page 3-23 shows the reset and reconfigure logic. (Not all JTAG reset
signals are shown.)
Table 3-3 lists the default levels of reset that results from external sources.
Table 3-3 Reset sources and effects
External source
Power on0YesYesYesYes
FPGA CONFIG
pushbutton
DEV CHIP RECONFIG
pushbutton
RESET pushbutton or
software reset
Reset
level
1NoYesYesYes
2NoNoYesYes
6NoNoNoYes
Hardware
nBOARDPOR
generated
FPGA reloaded
and Dev. Chip
configured with
default values
Dev. Chip
reconfigured
from
SYS_CFGDATA
registers
Reset
generated
for CPU,
memory and
peripherals
Figure 3-12 on page 3-25 shows the activity on the reset signals at different levels of
reset.
The level of reset that results from pressing the RESET pushbutton or generating a
software reset can be configured by the SYS_RESETCTL register (see also, Reset Control Register, SYS_RESETCTL on page 4-31). The ability to configure the reset level
gives greater flexibility in designing applications, FPGA images, and Logic Tile IP.
Set SYS_RESETCTL[8] to generate a software reset.
The reset levels specified by SYS_RESETCTL[2:0] are:
•
b000
is reserved
•
b001
resets to level 1, CONFIGCLR
•
b010
resets to level 2, CONFIGINIT
•
b011
resets to level 3, DLLRESET (DLL located in FPGA)
•
b100
resets to level 4, PLLRESET (located in ARM926EJ-S PXP Development
A state machine in the FPGA (see Figure 3-13 on page 3-26) uses the value of
SYS_RESETCTL and the external reset signals to sequence the reset signals (see also,
Reset Control Register, SYS_RESETCTL on page 4-31).
Under normal operation, the PB926EJ-S has dynamic memory located at
to load the boot code however, non-volatile memory must be remapped to the boot
address.
Remapping the memory is done by changing how the chip select signals in the
ARM926EJ-S PXP Development Chip connect to the external chip select signals that
control memory devices. Figure 3-14 on page 3-28 shows the two stage remapping
process:
•If DEVCHIP REMAP si gnal is H IGH, f rom the s ystem controller, it disables the nMPMCDYCS0 signal that is normally generated by accesses to memory region
0x00000000–0x03FFFFFF
Accesses to memory region
—the AHB expansion memory chip select if BOOTCSSEL[1:0] is
—nSTATICCS1 if one of BOOTCSSEL[1:0] is not
This remapping occurs inside the ARM926EJ-S PXP Development Chip.
•If FPGA_REMAP is HIGH, from the SYS_MISC register, nSTATICCS1 is
remapped to:
—NOR flash 2 (nDOCCS) if BOOTCSSEL[1:0] is
—NOR flash 1 (nNORCS) if BOOTCSSEL[1:0] is
This remapping occurs inside the FPGA.
.
0x00000000–0x03FFFFFF
Hardware Description
are remapped to:
b11
.
b00
b01.
0x0
. In order
b11
At reset, the DEVCHIP REMAP and FPGA_REMAP signals are both HIGH.
Which of nDOCCS, nNORCS, or AHB expansion memory is active at reset therefore
depends on the value of the BOOTCSSEL[1:0]. See Remapping of boot memory on
page 4-9.
If the size of the physical memory selected by nDOCCS, nNORCS, or AHB expansion
memory is less than the address range of
0x00000000–0x03FFFFFF
, the physical memory
is aliased and repeated to fill the address space.
The static expansion memory selected by nEXPCS2 cannot be used as boot memory.
The expansion memory can be moved to address
0x0
, but the memory no longer appears
at its original location and the code in the boot monitor that jumps to high memory is
not usable.
nPBRESETPush-button reset signal to the FPGA. The signal is generated by pressing the reset
nPBSDCRECONFIGThis signal is generated from the DEV CHIP CONFIG pushbutton and causes a
nPLLRESETReset for ARM926EJ-S PXP Development Chip PLL clock circuit.
nPORESETPower-on reset to development chip, configuration flash, and expansion memory. The
nPOWERFAILThis signal shuts down the onboard regulators. It is triggered by the supply voltage
Table 3-4 Reset signal descriptions (continued)
button.
reconfiguration of the ARM926EJ-S PXP Development Chip.
CPU core, all system peripherals, and all system controller registers are reset. For
details on system registers reset at different reset levels, see Table 4-4 on page 4-18.
falling to less than 9V. (The signal is only valid if the DC IN supply is used.)
There is a nPWRFAIL signal to the interrupt controller, but this signal is not affected
by the power supply voltage. nPWRFAIL can, however, be used to test automatic
shutdown code (see Miscellaneous System Control Register, SYS_MISC on
page 4-36).
P_nRSTSystem reset from PCI backplane.
P_nTRSTJTAG TRST signal from PCI backplane.
There is a separate JTAG connector and an independent scan chain on the PCI
backplane. The JTAG chain on the PB926EJ-S does not normally extend to the PCI
expansion backplane. There is a separate JTAG connector on the PCI backplane for
configuring devices on the backplane and on installed PCI cards. There are also links
that can be fitted to the PB926EJ-S that connects the two JTAG chains together, but
these links are normally only fitted for manufacturing tests.
nPWRFAILThis signal is provided by the FPGA to the interrupt controller. User software can test
this signal and shut down before a power loss causes a loss of data.
This signal is not driven by any power-detection logic. It is provided so that custom
implementations of the FPGA image have a signal that could be manipulated by a
register. Creating such an FPGA image would enable testing of user software that
implements a shutdown routine.
nRESETReset signal to the development chip and FPGA. The CPU core, all system
peripherals, and some system controller registers are reset. This signal is synchronized
with the system bus clock to provide AMBA compliance. For details on system
registers reset at different reset levels, see Table 4-4 on page 4-18.
nSRSTnSRST is an active LOW open-collector signal that can be driven by the JTAG
equipment to reset the board. Some JTAG equipment senses this line to determine
when you have reset a board.
This is also used in configuration mode to control the initialization of the FPGA.
nSRST splits into D_nSRST and C_nSRST to provide separate debug and
configuration signals on the Logic Tile connector HDRZ.
nSYSPORPower-on reset signal that initializes the reset level state machine after
GLOBAL_DONE goes HIGH. This signal is also fed to a Logic Tile header.
nSYSRSTSystem reset to the Logic Tile header. This signal is synchronized with the system bus
clock to provide AMBA compliance.
nTRSTTAP controller reset (the board drives this signal with nBOARDPOR).
nTRST splits into SDC_nTRST, D_nTRST, and C_nTRST to provide separate
debug and configuration signals on HDRZ of the Logic Tile.
USBnRESETSystem reset to USB controller.
USBWAKEUPSignal to USB controller to re-initialize.
nBOARDPOR is generated at power-up and distributed to the memory expansion
boards and to the FPGA configuration PLD. It also causes the assertion of the nTRST
signal guarantee the embedded ICE macrocell is reset in the ARM926EJ-S PXP
Development Chip.
Figure 3-15 Power-on reset and configuration timing
The release time for GLOBAL_DONE depends on any Logic Tiles in the system. It
might be held LOW longer if the tiles take longer to configure.
If the PB926EJ-S is powered from the brick power supply, a nominal 12V level
(VSMP) is supplied to the 5V and 3V regulators. If VSMP, drops too low, shutdown
signals nPOWERFAIL, nSHDN1, and nSHDN2 become active and power is switched
off. The shutdown circuitry is shown in Figure 3-16 on page 3-34. The power supply
can be toggled on and off by pressing the Power/Standby pushbutton.
If the PB926EJ-S is powered from the PCI backplane or the screw terminals, the VSMP
voltage is not present. Therefore:
•the 5VSB standby voltage is not present
•nSHDN1 is held LOW
•nSHDN2 is held HIGH (this enables the 5V analog regulator)
•the Power/Standby pushbutton has no effect and you must use the external power
The ARM926EJ-S PXP Development Chip CPU clock is normally a
multiplied version of GLOBALCLK that is based on OSC0.
Alternatively, the CPU can be clocked from a 32kHz clock or OSC2 to
test low-power operating modes.
There are three external AHB bridges on the chip. These normally
operate in synchronous mode and the bridge clocks are based on the CPU
clock. (The internal AHB clock HCLK is divided down from the CPU
clock.) In asynchronous mode, the external part of the AHB bridges can
be clocked from OSC0, OSC1, OSC2, or OSC3 depending on the clock
multiplexors.
The RTC in the ARM926EJ-S PXP Development Chip is clocked from a
dedicated 32kHz signal that is derived from the 32kHz oscillator module.
The CLCDC uses OSC4 as the reference for its data clock.
The memory and MBX clocks are derived from the internal AHB clock.
The UART, SSP, and SCI peripherals located in the ARM926EJ-S PXP
Development Chip are normally clocked from the internal HCLK. An
external 24MHz clock from the programmable clock generators can be
selected as the reference clock instead of using the clock source inside the
chip.
The dual timer modules in the ARM926EJ-S PXP Development Chip are
clocked from an external 1MHz clock derived from the 24MHz
reference.
FPGA The FPGA contains clock control logic that can set the frequency of the
programmable clock generators and direct their outputs to internal and
external peripherals.
PCI A PCICLK is derived from the 33MHz or 66MHz reference oscillator on
the PCI backplane. The PCI clock is connected to the PCI controller in
the FPGA to synchronize accesses with the PCI bus. The PCI controller
is also connected to the AHB S and AHB M2 buses. The clocks for the
AHB buses come from the clock multiplexor.
Audio CODEC
The Audio CODEC has a dedicated crystal oscillator. The reference
clock from the CODEC is connected to the AACI in the FPGA.
RTC There is an external real-time clock clocked by a dedicated 32kHz crystal
oscillator. The RTC outputs the 32kHz clock to the FPGA where it is
buffered and then sent to the ARM926EJ-S PXP Development Chip
where it can be used as the CPU clock for low-power mode.
Ethernet The Ethernet controller has a 25MHz dedicated crystal oscillator for
timing the Ethernet bus. HCLKM2 (typically generated from the
programmable oscillator OSC0) is used as a reference frequency for the
controller interface to the FPGA.
USB The 24MHz reference from the programmable oscillator OSC0 is used as
a reference frequency for the external USB controller.
Logic Tile A Logic Tile can be connected to the expansion connectors. The tile
normally uses the GLOBALCLK from the PB926EJ-S as the clock for
its AHB buses. The tile can, however, also generate GLOBALCLK.
(The signal nGLOBALCLKEN from Z50 on the Logic Tile indicates to
the PB926EJ-S whether GLOBALCLK is supplied from OSC0 or from
the Logic Tile. This signal is pulled HIGH by the Logic Tile to select the
Logic Tile GLOBALCLK as the source for GLOBALCLK on the
PB926EJ-S.)
The tile can also generate the external clocks for the AHB bridges when
they are operating in asynchronous mode. In normal operation, the AHB
bridges operate in synchronous mode and the PB926EJ-S is the source of
the bridge clocks connected to the tile.
The static memory clocks, CLCD data clock, and several of the
peripheral clocks from the PB926EJ-S are connected to the tile.
Debug The JTAG connector supplies the reference JTAG clock TCK. There is
also an on-board USB debug port that is driven by the 24MHz reference
and a dedicated 6MHz crystal oscillator.
The various clocks and clock selection mechanism are described in the following
sections:
•ARM926EJ-S PXP Development Chip clocks on page 3-39
•ICS307 programmable clock generators on page 3-48
•Peripheral clocks on page 3-54
•RealView Logic Tile clocks on page 3-52.
The clocking selection and control logic in the PB926EJ-S enables you to emulate many
different clock systems and operating modes (for example, low-power mode with slow
clocks, operation without a PLL, and synchronous or asynchronous AHB bridges).
The default values for clock selection and control are appropriate for most situations.
You must modify the multiplexor settings if you are doing one of the following:
•Using an external Logic Tile to generate the reference clocks for the CPU or AHB
bridges.
•Operating one of the AHB bridges in the ARM926EJ-S PXP Development Chip
in asynchronous mode with a dedicated clock input for timing the external part of
the bridge.