91.5 Cortex-M3 Processor Applications
ARM processors. That is, you cannot run a binary image for ARM7 processors on the Cortex-M3 processor.
Nevertheless, the Cortex-M3 processor can execute almost all the 16-bit Thumb instructions, including all
16-bit Thumb instructions supported on ARM7 family processors, making application porting easy.
With support for both 16-bit and 32-bit instructions in the Thumb-2 instruction set, there is no need
to switch the processor between Thumb state (16-bit instructions) and ARM state (32-bit instructions).
For example, in ARM7 or ARM9 family processors, you might need to switch to ARM state if you want
to carry out complex calculations or a large number of conditional operations and good performance is
needed, whereas in the Cortex-M3 processor, you can mix 32-bit instructions with 16-bit instructions
without switching state, getting high code density and high performance with no extra complexity.
The Thumb-2 instruction set is a very important feature of the ARMv7 architecture. Compared
with the instructions supported on ARM7 family processors (ARMv4T architecture), the Cortex-M3
processor instruction set has a large number of new features. For the first time, hardware divide instruc-
tion is available on an ARM processor, and a number of multiply instructions are also available on the
Cortex-M3 processor to improve data-crunching performance. The Cortex-M3 processor also supports
unaligned data accesses, a feature previously available only in high-end processors.
1.5 CORTEX-M3 PROCESSOR APPLICATIONS
With its high performance and high code density and small silicon footprint, the Cortex-M3 processor
is ideal for a wide variety of applications:
• Low-cost microcontrollers: The Cortex-M3 processor is ideally suited for low-cost microcontrollers,
which are commonly used in consumer products, from toys to electrical appliances. It is a highly
competitive market due to the many well-known 8-bit and 16-bit microcontroller products on
the market. Its lower power, high performance, and ease-of-use advantages enable embedded
developers to migrate to 32-bit systems and develop products with the ARM architecture.
• Automotive: Another ideal application for the Cortex-M3 processor is in the automotive industry.
The Cortex-M3 processor has very high-performance efficiency and low interrupt latency, allowing
it to be used in real-time systems. The Cortex-M3 processor supports up to 240 external vectored
interrupts, with a built-in interrupt controller with nested interrupt supports and an optional MPU,
making it ideal for highly integrated and cost-sensitive automotive applications.
Data communications• : The processor’s low power and high efficiency, coupled with instructions
in Thumb-2 for bit-field manipulation, make the Cortex-M3 ideal for many communications
applications, such as Bluetooth and ZigBee.
• Industrial control: In industrial control applications, simplicity, fast response, and reliability are
key factors. Again, the Cortex-M3 processor’s interrupt feature, low interrupt latency, and enhanced
fault-handling features make it a strong candidate in this area.
• Consumer products: In many consumer products, a high-performance microprocessor (or several of
them) is used. The Cortex-M3 processor, being a small processor, is highly efficient and low in power and
supports an MPU enabling complex software to execute while providing robust memory protection.
There are already many Cortex-M3 processor-based products on the market, including low-end
products priced as low as US$1, making the cost of ARM microcontrollers comparable to or lower than
that of many 8-bit microcontrollers.