Arm Cortex m3
Arm Cortex m3
Arm Cortex m3
Edited by
VIDYA GOGATE
The ARM Cortex™-M3 processor
• Greater performance efficiency: allowing more work to be done without increasing the frequency or power
requirements
• Low power consumption: enabling longer battery life, especially critical in portable products including wireless
networking applications
• Enhanced determinism: guaranteeing that critical tasks and interrupts are serviced as quickly as
possible and in a known number of cycles
• Improved code density: ensuring that code fits in even the smallest memory footprints
• Ease of use: providing easier programmability and debugging for the growing number of 8-bit and
16-bit users migrating to 32 bits
• Lower cost solutions: reducing 32-bit-based system costs close to those of legacy 8-bit and 16-bit
devices and enabling low-end, 32-bit microcontrollers to be priced at less than US$1 for the first time
• Wide choice of development tools: from low-cost or free compilers to full-featured development
suites from many development tool vendors.
ATTRACTIVE FEATURES
• 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.
• Automotive: 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.
• However, the instruction and data buses share the same memory space (a
unified memory system). In other words, you cannot get 8 GB of memory
space just because you have separate bus interfaces.
• Both little endian and big endian memory systems are supported.
Architecture of Cortex-M3
• The Cortex-M3 processor includes a number
of fixed internal debugging components such
as breakpoints and watch points.
• The predefined memory map also allows the Cortex-M3 processor to be highly
optimized for speed and ease of integration in system-on-a-chip (SoC) designs.
• The Cortex-M3 design has an internal bus infrastructure optimized for this
memory usage. In addition, the design allows these regions to be used
differently.
• For example, data memory can still be put into the CODE region, and program
code can be executed from an external Random Access Memory
(RAM) region.
The Cortex-M3 Memory Map.
Program Status registers
• Application Program Status register (APSR)
• Interrupt Program Status register (IPSR)
• Execution Program Status register (EPSR)
• You can read the PSRs using the MRS instruction. You can
also change the APSR using the MSR instruction, but
EPSR and IPSR are read-only.
• For example: