ARM7 is a group of 32-bit RISC ARM processor cores licensed by ARM Holdings for microcontroller use.  The ARM7 core family consists of ARM700, ARM710, ARM7DI, ARM710a, ARM720T, ARM740T, ARM710T, ARM7TDMI, ARM7TDMI-S, ARM7EJ-S.  The ARM7TDMI and ARM7TDMI-S were the most popular cores of the family.

Since ARM7 cores were released from 1993 to 2001, they are no longer recommended for new IC designs; instead ARM Cortex-M or ARM Cortex-R cores are preferred.

Overview

This generation introduced the Thumb 16-bit instruction set providing improved code density compared to previous designs.  The most widely used ARM7 designs implement the ARMv4T architecture, but some implement ARMv3 or ARMv5TEJ. ARM7TDMI has 37 registers (31 GPR and 6 SPR). All these designs use a Von Neumann architecture, thus the few versions containing a cache do not separate data and instruction caches.

Some ARM7 cores are obsolete.  One historically significant model, the ARM7DI is notable for having introduced JTAG based on-chip debugging; the preceding ARM6 cores did not support it.  The "D" represented a JTAG TAP for debugging; the "I" denoted an ICEBreaker debug module supporting hardware breakpoints and watchpoints, and letting the system be stalled for debugging.  Subsequent cores included and enhanced this support.

It is a versatile processor designed for mobile devices and other low power electronics.  This processor architecture is capable of up to 130 MIPS on a typical 0.13 μm process. The ARM7TDMI processor core implements ARM architecture v4T. The processor supports both 32-bit and 16-bit instructions via the ARM and Thumb instruction sets.

ARM licenses the processor to various semiconductor companies, which design full chips based on the ARM processor architecture.

ARM license
ARM Holdings neither manufactures nor sells CPU devices based on its own designs, but rather licenses the processor architecture to interested parties. ARM offers a variety of licensing terms, varying in cost and deliverables. To all licensees, ARM provides an integratable hardware description of the ARM core, as well as complete software development toolset and the right to sell manufactured silicon containing the ARM CPU.

Silicon customization
Integrated device manufacturers (IDM) receive the ARM Processor IP as synthesizable RTL (written in Verilog). In this form, they have the ability to perform architectural level optimizations and extensions. This allows the manufacturer to achieve custom design goals, such as higher clock speed, very low power consumption, instruction set extensions, optimizations for size, debug support, etc.  To determine which components have been included in a particular ARM CPU chip, consult the manufacturer datasheet and related documentation.

Cores

The original ARM7 was based on the earlier ARM6 design and used the same ARMv3 instruction set. The ARM710 variant was used in a CPU module for the Acorn Risc PC, and the first ARM based System on a Chip designs ARM7100 and ARM7500 used this core.

ARM7TDMI
The ARM7TDMI (ARM7 + 16 bit Thumb + JTAG Debug + fast Multiplier + enhanced ICE) processor implements the ARMv4 instruction set.  It was licensed for manufacture by an array of semiconductor companies.  In 2009, it was one of the most widely used ARM cores, and is found in numerous deeply embedded system designs.

Texas Instruments licensed the ARM7TDMI, which was designed into the Nokia 6110, the first ARM-powered GSM phone. This led to the popular series of Nokia phones using the processor, including the 3210 and 3310.

The ARM7TDMI-S variant is the synthesizable core.

ARM7EJ-S
The ARM7EJ-S (ARM7 + Enhanced + Jazelle - Synthesizable) is a version of the ARM7 implementing the ARMv5TE instruction set originally introduced with the more powerful ARM9E core.

Chips

ARM7TDMI or ARM7TDMI-S core
 Analog Devices AD6720 (used in LG KG130/150), AD6724 (used in LG KP130/135), AD6726 (used in LG KP170/175)
 Atmel AT91M, AT91R, AT91SAM7L, AT91SAM7S/SE, AT91SAM7X/XC (see AT91SAM7)
 STMicroelectronics STR7
Alcatel Microelectronics (STMicroelectronics) ALCATEL 2840 (MTC-20276 INTQ, MTC-20277 INTT); used in Alcatel One Touch 30x (BE4)
PortalPlayer PP5002, PP5022 (used in iPods)
 NXP LPC2100, LPC2200, LPC2300, LPC2400

Unreferenced ARM7 core

 ADMtek ADM8628
 Atmel AT91CAP7
 Cirrus Logic CL-PS7110
 Mediatek MT2502 (ARM7 EJ-STM)
 NetSilicon NS7520
 Nuvoton NUC500, NUC700
 LH7
 PortalPlayer 5002, 5003, 5020, 5021-TDF, 5022, 5024 SOCs (dual ARM7TDI cores)
 Samsung S3C46Q0X01-EE8X, S3C44B0X
 Yamaha AICA (ARM7DI) – sound processor with DSP

Notable uses
 Nokia 6110 – first GSM phone to use an ARM processor
 Dreamcast – home video game console (audio coprocessor)
 PlayStation 2 - home video game console (security handler)
 Game Boy Advance – handheld video game console
 Nintendo DS – successor to the Game Boy Advance
 Zune HD – portable media player
 Roomba – robotic vacuum cleaner
 Lego Mindstorms NXT - 2nd generation robotics toy line from Lego
 iPod – the first 5 generations of the iPod Classic as well as the Mini and first Nano used dual-core ARM7TDMI processors.

See also

 ARM architecture
 List of ARM microarchitectures
 JTAG
 Real-time operating system, Comparison of real-time operating systems

References

External links

 
 Architecture Reference Manual: ARMv4/5/6
 Core Reference Manuals: ARM7DIARM7EJ-S,ARM7TDMI,ARM7TDMI-S,ARM710a, ARM710T,ARM720T,ARM740T
 Instructions: Thumb (1), ARM and Thumb-2 (2), Vector Floating Point (3)
 Opcodes: Thumb (1, 2), ARM (3, 4), GNU Assembler Directives 5
 Differences between ARM7TDMI and ARM7TDMI-S
 ARM Assembly Intro A starter's tutorial on ARM assembly
 ARM7TDMI Microcontroller Development Resources - schematics, CAD files, header files

ARM processors