EasyManua.ls Logo

ARM ARM7TDMI User Manual

Default Icon
286 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
Page #1 background imageLoading...
Page #1 background image
Copyright © 2001, 2004 ARM Limited. All rights reserved.
ARM DDI 0210C
ARM7TDMI
Revision: r4p1
Technical Reference Manual

Table of Contents

Other manuals for ARM ARM7TDMI

Question and Answer IconNeed help?

Do you have a question about the ARM ARM7TDMI and is the answer not in the manual?

ARM ARM7TDMI Specifications

General IconGeneral
Data Width32-bit
Cores1
MIPS per MHz0.9
On-chip DebugYes
Instruction SetARM
Pipeline Stages3
Operating VoltageImplementation dependent
Manufacturing ProcessImplementation dependent

Summary

Introduction

About the ARM7TDMI Core

Describes the ARM7TDMI core as part of the ARM family of general-purpose 32-bit microprocessors.

Architecture

Describes the ARM7TDMI processor's architecture, including ARM and Thumb instruction sets.

Block, Core, and Functional Diagrams

Illustrates the ARM7TDMI processor architecture, core, and functional diagrams with figures.

Instruction Set Summary

Provides a description of the ARM and Thumb instruction sets used on the ARM7TDMI processor.

Programmer’s Model

About the Programmer's Model

Introduces the ARM7TDMI core's programmer's model, implementing ARMv4T architecture.

Processor Operating States

Describes the ARM and Thumb operating states and how to switch between them.

Memory Formats

Explains how the ARM7TDMI processor views memory and its bi-endian capability (Little-endian, Big-endian).

Data Types

Defines supported data types (words, halfwords, bytes) and their alignment requirements.

Operating Modes

Lists and describes the ARM7TDMI processor's seven operating modes.

Registers

Details the ARM7TDMI processor's register set, including general-purpose, status, and banked registers.

The Program Status Registers

Describes the CPSR and SPSRs, their arrangement, condition code flags, and control bits.

Exceptions

Explains exception handling mechanisms, entry/exit summaries, and different exception types.

Interrupt Latencies

Describes calculations for maximum and minimum interrupt latencies for FIQ and IRQ.

Reset

Details the ARM7TDMI processor's reset sequence after power-up and the behavior upon reset.

Memory Interface

About the Memory Interface

Describes the ARM7TDMI processor's Von Neumann architecture and single 32-bit data bus.

Bus Interface Signals

Groups ARM7TDMI processor bus interface signals into categories: clock, address, memory request, data.

Bus Cycle Types

Explains the four types of bus cycles: nonsequential, sequential, internal, and coprocessor transfer.

Addressing Signals

Describes address class signals like A[31:0], nRW, MAS[1:0], nOPC, nTRANS, LOCK, TBIT.

Address Timing

Details address bus timing configurations (pipelined, depipelined) and signal behavior.

Data Timed Signals

Describes data bus signals (D[31:0], DIN, DOUT), ABORT, and byte latch enables.

Stretching Access Times

Explains methods for stretching access times using MCLK modulation or nWAIT.

Privileged Mode Access

Discusses using nTRANS and nM[4:0] to distinguish between User and privileged mode accesses.

Reset Sequence After Power Up

Details the sequence of events when the ARM7TDMI processor is reset after power-up.

Coprocessor Interface

About Coprocessors

Explains how coprocessors extend ARM7TDMI functionality with specialized instructions.

Coprocessor Interface Signals

Lists signals used to interface the ARM7TDMI core to a coprocessor, grouped by category.

Pipeline Following Signals

Describes signals that allow coprocessors to track instructions in the ARM7TDMI processor pipeline.

Coprocessor Interface Handshaking

Details the handshake signals (nCPI, CPA, CPB) used between the ARM7TDMI core and coprocessors.

Connecting Coprocessors

Explains how to connect single and multiple coprocessors to the ARM7TDMI processor system.

If You Are Not Using an External Coprocessor

Provides guidance on handling systems without external coprocessors, including signal tying.

Undefined Instructions

Explains how the processor handles undefined instructions and the role of coprocessors.

Privileged Instructions

Describes how the nTRANS signal enables privileged access to coprocessor instructions.

Debug Interface

About the Debug Interface

Details the ARM7TDMI processor's debug interface based on IEEE Std. 1149.1.

Debug Systems

Describes the typical components of a debug system: debug host, protocol converter, and debug target.

Debug Interface Signals

Introduces primary external signals for the debug interface: BREAKPT, DBGRQ, DBGACK.

ARM7TDMI Core Clock Domains

Explains clock switching between MCLK and DCLK during debug and test operations.

Determining the Core and System State

Explains how to determine the processor's state (ARM or Thumb) when entering debug mode.

About EmbeddedICE-RT Logic

Describes the EmbeddedICE-RT logic for integrated on-chip debug support, including watchpoints and registers.

Disabling EmbeddedICE-RT

Explains how to disable the EmbeddedICE-RT logic using the DBGEN signal for power saving.

Debug Communications Channel

Describes the Debug Communications Channel (DCC) for passing information between target and host debugger.

Instruction Cycle Timings

About the Instruction Cycle Timing Tables

Explains conventions used in instruction cycle timing tables, including signal pipeline and notation.

Branch and Branch with Link

Details the cycle timings for ARM branch and branch with link instructions.

Thumb Branch with Link

Details the cycle timings for Thumb branch with link operations.

Branch and Exchange

Details the cycle timings for the Branch and Exchange (BX) operation.

Data Operations

Describes the execution cycle for data operation instructions, including shift operations.

Multiply and Multiply Accumulate

Details cycle timings for multiply and multiply accumulate instructions.

Load Register

Describes the cycle timings for the Load Register (LDR) instruction.

Store Register

Describes the cycle timings for the Store Register (STR) instruction.

Load Multiple Registers

Details the cycle timings for Load Multiple Registers (LDM) instructions.

Store Multiple Registers

Details the cycle timings for Store Multiple Registers (STM) instructions.

Data Swap

Describes the cycle timings for the Data Swap (SWP) instruction.

Software Interrupt and Exception Entry

Details cycle timings for software interrupts and exception entry.

Coprocessor Data Operation

Describes the cycle timings for coprocessor data operation instructions.

Coprocessor Data Transfer from Memory to Coprocessor

Details cycle timings for coprocessor data transfer from memory to coprocessor.

Coprocessor Data Transfer from Coprocessor to Memory

Details cycle timings for coprocessor data transfer from coprocessor to memory.

Coprocessor Register Transfer, Load from Coprocessor

Details cycle timings for coprocessor register transfer, load from coprocessor.

AC and DC Parameters

Timing Diagrams

Lists and describes AC timing diagrams for various interface signals and operations.

Notes on AC Parameters

Provides notes and alphabetical listing of AC timing parameters used in the chapter.

DC Parameters

Refers users to suppliers for information on operating conditions and maximum ratings.

Appendix A Signal and Transistor Descriptions

Transistor Dimensions

Shows dimensions of output drivers for a 0.18µm ARM7TDMI r4p1 processor.

Signal Types

Lists and describes the different types of signals used in the ARM7TDMI r4p1 processor.

Signal Descriptions

Provides detailed descriptions for all signals used by the ARM7TDMI r4p1 processor.

Appendix B Debug in Depth

Scan Chains and the JTAG Interface

Explains the three JTAG-style scan chains enabling debugging and configuration of EmbeddedICE-RT logic.

Resetting the TAP Controller

Describes how to reset the Test Access Port (TAP) controller into its correct state after power-up.

Pullup Resistors

Discusses the requirement for driving test interface inputs to good logic levels due to lack of internal pullups.

Instruction Register

Describes the 4-bit instruction register, its capture value, and scan order.

Public Instructions

Lists and describes the public instructions used with the TAP controller for JTAG operations.

Test Data Registers

Describes the seven test data registers that connect between TDI and TDO for scan testing.

The ARM7TDMI Core Clocks

Explains the memory clock (MCLK) and internal debug clock (DCLK) and their switching during debug.

Determining the Core and System State in Debug State

Explains how to determine the processor's state (ARM or Thumb) when entering debug mode.

Behavior of the Program Counter in Debug State

Details how the debugger tracks the program counter to branch back to interrupted program flow.

Priorities and Exceptions

Covers priorities of exceptions relative to breakpoints and watchpoints.

Scan Chain Cell Data

Lists the signals and types for scan chain 0 cells, comprising the data bus and control signals.

The Watchpoint Registers

Describes the two watchpoint units, their registers (address, data, control) and functions.

Programming Breakpoints

Explains how to program hardware and software breakpoints using watchpoint units.

Programming Watchpoints

Details how to program watchpoints for data accesses, including data-dependent and mode-specific criteria.

The Debug Control Register

Describes the debug control register bits for enabling/disabling features and controlling behavior.

Appendix C Differences Between Rev 3a and Rev 4

Summary of Differences Between Rev 3a and Rev 4

Summarizes key changes in ARM7TDMI Rev 4, including EmbeddedICE-RT and DCC improvements.

Detailed Descriptions of Differences Between Rev 3a and Rev 4

Provides detailed descriptions of changes in ARM7TDMI Rev 4, such as EmbeddedICE-RT logic additions.

Glossary

Related product manuals