Introduction
ARM DDI 0363E Copyright ©2009 ARM Limited. All rights reserved. 1-22
ID013010 Non-Confidential, Unrestricted Access
3. Programming. The system programmer develops the software required to configure and
initialize the processor, and possibly tests the required application software on the
processor.
Each of these stages can be performed by a different company. Configuration options are
available at each stage. These options affect the behavior and available features at the next stage:
Build configuration
The implementer chooses the options that affect how the RTL source files are
pre-processed. They usually include or exclude logic that can affect the area or
maximum frequency of the resulting macrocell.
For example, the BTCM interface can be configured to have zero, one (B0TCM)
or two (B0TCM and B1TCM) ports. If one port is chosen, the logic for the second
port is excluded from the macrocell, although the pins remain, and the second port
(B1TCM) cannot be used on that macrocell.
Configuration inputs
The integrator configures some features of the processor by tying inputs to
specific values. These configurations affect the start-up behavior before any
software configuration is made. They can also limit the options available to the
software.
For example, if the build configuration for the macrocell includes both BTCM
ports, the integrator can choose how many ports to actually use, and therefore
how many RAMs must be integrated with the macrocell. If the integrator only
wishes to use one BTCM port, they can connect RAM to the B0TCM port only,
and tie the ENTCM1IF input to zero to indicate that the B1TCM is not available.
Software configuration
The programmer configures the processor by programming particular values into
software-visible registers. This affects the behavior of the processor.
For example, the enable bit in the BTCM Region Register controls whether or not
memory accesses are performed to the BTCM interface. However, the BTCM
cannot, and must not, be enabled if the build configuration does not include any
BTCM ports, or if the pin configuration indicates that no RAMs have been
integrated onto the BTCM ports.
Note
This manual refers to implementation-defined features that are applicable to build configuration
options. References to a feature which is included mean that the appropriate build and pin
configuration options have been selected, while references to an enabled feature mean one that
has also been configured by software.
1.10.3 Architectural information
The Cortex-R4 processor conforms to, or implements, the following specifications:
ARM Architecture
This describes:
The behavior and encoding of the instructions that the processor can
execute.
The modes and states that the processor can be in.
The various data and control registers that the processor must contain.