|Instruction set||ARM architecture|
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. All these designs use a Von Neumann architecture, thus the few versions comprising 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.
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.
The ARM7TDMI (ARM7+16 bit Thumb+j tag Debug+fast Multiplier+enhanced ICE) processor is a 32-bit RISC CPU designed by ARM, and licensed for manufacture by an array of semiconductor companies. In 2009 it remains 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 ARM7TDMI-S variant is the synthesizable core.
The ARM7EJ is a version of the ARM7 implementing the ARMv5TE instruction set originally introduced with the more powerful ARM9E core.
- ADMtek ADM8628
- Atmel AT91SAM7, AT91CAP7, AT91M, AT91R
- NXP LPC2100, LPC2200, LPC2300, LPC2400, LH7
- STMicroelectronics STR7
- Samsung S3C46Q0X01-EE8X
Perhaps the most common pieces of electronic equipment to have used this processor are:
- Audio controller in the Sega Dreamcast
- D-Link DSL-604+ Wireless ADSL Router
- iPod from Apple
- iriver portable digital audio players (the H10 uses a chip with this processor)
- Juice Box
- Lego Mindstorms NXT (Atmel AT91SAM7S256)
- Most of Nokia's mobile phone range.
- Game Boy Advance / Game Boy Advance SP / Game Boy Micro (main-processor) from Nintendo
- Nintendo DS (co-processor) from Nintendo
- Roomba 500 series from iRobot
- Sirius Satellite Radio receivers
- The main CPU in Stern Pinball S.A.M System games.
- In Building Automation, the American Auto-Matrix BBC-SD (BACnet Touchscreen Display) uses an ARM7 TDMI core
- In tournament waterski and wakeboard towboats, Perfect Pass speed control
- Many automobiles embed ARM7 cores.
- Samsung microSD cards contain an ARM7TDMI controller with 128 KB of code.
The amount of documentation for all ARM chips is daunting, especially for newcomers. The documentation for microcontrollers from past decades would easily be inclusive in a single document, but as chips have evolved so has the documentation grown. The total documentation is especially hard to grasp for all ARM chips since it consists of documents from the IC manufacturer and documents from CPU core vendor (ARM Holdings).
A typical top-down documentation tree is: high-level marketing slides, datasheet for the exact physical chip, a detailed reference manual that describes common peripherals and other aspects of physical chips within the same series, reference manual for the exact ARM core processor within the chip, reference manual for the ARM architecture of the core which includes detailed description of all instruction sets.
- Documentation tree (top to bottom)
- IC manufacturer marketing slides.
- IC manufacturer datasheets.
- IC manufacturer reference manuals.
- ARM core reference manuals.
- ARM architecture reference manuals.
IC manufacturer has additional documents, including: evaluation board user manuals, application notes, getting started with development software, software library documents, errata, and more.
- ARM architecture, List of ARM microprocessor cores
- Microcontroller, List of common microcontrollers
- Embedded system, Single-board microcontroller
- Interrupt, Interrupt handler, List of real-time operating systems
- "ARM7DI Data Sheet"; Document Number ARM DDI 0027D; Issued: Dec 1994.
- Sakr, Sharif. "ARM co-founder John Biggs". Engadget. Retrieved December 23, 2011. "[...] the ARM7-TDMI was licensed by Texas Instruments and designed into the Nokia 6110, which was the first ARM-powered GSM phone."
- "D-Link DSL-604+ Wireless ADSL Router - Supportforum - eXpansys Sverige". 090506 expansys.se
- Andrew (bunnie) Huang. "On MicroSD Problems". Bunnie Studios. "This is comparable to the raw die cost of the controller IC, according to my models; and by making the controllers very smart (the Samsung controller is a 32-bit ARM7TDMI with 128k of code), you get to omit this expensive test step while delivering extra value to customers"
- ARM Holdings
- Quick Reference Cards
- Instructions: Thumb (1), ARM and Thumb-2 (2), Vector Floating Point (3)
- Opcodes: Thumb (1, 2), ARM (3, 4), GNU Assembler Directives 5.
- ARM7TDMI Microcontroller Development Resources - header files, schematics, CAD files, etc..
- Source and binaries for running uClinux on the ARM7TDMI
- ARM Microcontroller Development HOWTO - Document describing development environment for ARM7 Microcontrollers on Linux.
- ARM Assembly Intro A starter's tutorial on ARM Assembly
- Yurichev, Dennis, "An Introduction To Reverse Engineering for Beginners" including ARM assembly. Online book: http://yurichev.com/writings/RE_for_beginners-en.pdf