Features of ARM Cortex M0 processor core
ARM processor cores are widely used in many application specific standard IC products. They are heavily used in ICs for mobile device applications. For use in microncontroller chips, ARM has exclusively launched M-series which includes M0, M3, and M4. M0 is very basic and is good for embedded system learners.
The Cortex-M0 processor is a very low gate count, highly energy efficient processor that is intended for microcontroller and deeply embedded applications that require an area optimized processor. The Cortex-M0 processor consumes around16µW/MHz (90LP process, minimal configuration) in an area of under 12 K gates.
The configurable, multistage, 32-bit RISC processor ARM Cortex-M0 processor consumes small silicon area and low power and also minimal code footprint. Due to all these, developers can achieve higher performance than old 8-bit micro controllers.
The processor features of ARM Cortex M0 includes:
ARM cortex M0 features Integrated Nested Vectored Interrupt Controller (NVIC) for interrupt handling.
H/W stacking ensures deterministic Interrupt Service Routine (ISR) entry.
Features sleep mode, power down mode and deep power down mode.
No assembler code required for ISR etc..
Thumb-2 offers ARM performance at Thumb code density resulting in enhanced instruction performance with reduced code size. Thumb-2 offers 25% more performance than Thumb,
Application porting is made easy due to NVIC, SysTick & Memory Map defined CMSIS Compatible.
ARM Cortex operated upto a frequency of 50 MHz.
Features hardware multiplier
Serial Wire Debug reduces the number of pins required for debugging.
Flexibility of shedding size and performance: ARM Cortex M0 is code compatible with other improved version M3 and M4.
Simplicity: Its stated in ARM's website "with just 56 instructions, it is possible to master quickly the entire Cortex-M0 instruction and its C friendly architecture, making development simple and fast. The option for fully deterministic instruction and interrupt timing makes it easy to calculate response times."
Optimized connectivity: Support low power connectivity such as Bluetooth Low Energy (BLE), IEEE 802.15 and Z-wave.
The Cortex-M0 has an AMBA AHB-Lite interface and includes an NVIC component.
To learn more on ARM Cortex M0 visit the below urls:
One of the best presentation on ARM Cortex M0 is available at:
The technical reference manual of ARM Cortex M0 processor core is available at :
Comparison of ARM 7TDMI to ARM Cortex M0 is presented at:
In this embedded systems course we have used ARM Cortex M0 powered microcontrollers: LPC1100 from NXP Semiconductor and STM32F051R8T6 from ST Microelectronics.
More on LPC1100 can be learned at: http://www.nxp.com/products/microcontrollers/cortex_m0/lpc1100_x_l/
More on STM32F051R8T6 can be learned at:
Click below to visit next and other embedded system course modules
Module 6b: Sample program-2 (interfacing keypad for STM32F0 board) Module 6a: Sample program-2 (interfacing keypad for LPCXpresso board)
Module 2: Microprocessor, Microcontroller, MCU Manufacturers, introduction to programming.
Module 3a: Installation of ARM Cortex M0 based LPCXpresso kit from NXP and sample code
Module 4a: Sample program for LPCXpresso
Module 3b: Installation of ARM Cortex M0 based STM32F0 Discovery kit from ST Microelectronics and sample code
Module 4b: Sample program for STM32F0 Discovery