SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: How generic are Cortex-M0+ MCUs?
SUBSCRIBE
SoCSoC
Font ResizerAa
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Search
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Have an existing account? Sign In
Follow US
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
© S-O-C.ORG, All Rights Reserved.
Arm

How generic are Cortex-M0+ MCUs?

Neil Salmon
Last updated: September 16, 2023 10:08 am
Neil Salmon 6 Min Read
Share
SHARE

Cortex-M0+ microcontrollers (MCUs) from ARM offer a good balance of performance, power efficiency, and cost for a wide range of embedded applications. While there are some common features across Cortex-M0+ chips, there can also be significant differences between models from different manufacturers. Overall, Cortex-M0+ strikes a compromise between customization and generalization.

Contents
Common Features of Cortex-M0+ MCUsDifferences Between VendorsGeneralization for Broad UseCustomization for Specific Use CasesExample Vendor CustomizationsST Microelectronics STM32L0 SeriesNXP LPC800 SeriesMicrochip SAM L10/L11 SeriesConclusion

Common Features of Cortex-M0+ MCUs

As a 32-bit ARM processor optimized for embedded applications, all Cortex-M0+ MCUs have some standard capabilities:

  • 32-bit ARM Cortex-M0+ core running at up to 50 MHz
  • Thumb-2 instruction set for improved code density
  • Nested Vectored Interrupt Controller (NVIC) for managing interrupts
  • SysTick timer for basic task scheduling
  • Standardized debug and trace interfaces
  • Power management features like sleep and deep sleep modes
  • Memory protection unit for security

The Cortex-M0+ architecture is highly configurable by design. ARM offers the processor IP along with documentation and integration tools for chipmakers to customize and implement in their own manufacturing process. This allows the Cortex-M0+ CPU to be targeted to a wide range of end applications with the integration of various peripherals and I/O interfaces.

Differences Between Vendors

While the processor core itself is standardized by ARM, the surrounding components will vary between vendors. Here are some of the main ways Cortex-M0+ MCUs can differ:

  • Manufacturing process – Chip fabrication process affects power, performance, and cost. Common nodes are 40nm, 28nm, and 22nm.
  • Clock speed – Ranges from 24 MHz to 50 MHz. Higher is faster but uses more power.
  • Flash memory – On-chip non-volatile storage from 16 KB up to 256 KB typically.
  • SRAM – On-chip memory for data, code, and stacks. Varies from 4 KB to 64 KB.
  • Peripherals – UARTs, SPI, I2C, CAN, USB, ADCs, DACs, timers, PWM, etc. Support for different interfaces.
  • Packages – Available in different physical packages like QFP, BGA, QFN, etc. for integration.
  • Software tools – Coding, debugging, and flash programming tools will differ between vendors.

While there is a diverse set of Cortex-M0+ devices, certain combinations of features tend to be more common for targeting particular applications. Low power designs might have slower clocks, smaller memories, and more analog integration. Cost-sensitive designs may use older process nodes and smaller packages. More advanced applications support faster clocks, more peripherals, and hardware security features.

Generalization for Broad Use

The benefit of the unified Cortex-M0+ architecture is that software and tools can be reused across different microcontrollers. Code written for one Cortex-M0+ device can usually be adapted to run on another with modest modification. Debugging probes and IDEs support the standard ARM CoreSight debug specification. RTOS and middleware commonly support Cortex-M0+ as one of the target architectures. This improves software reuse and reduces development costs.

Reference designs and application notes for Cortex-M0+ provide a starting point for many projects. Rather than starting from scratch, significant hardware and firmware code can be reused when choosing a Cortex-M0+ microcontroller. TheARM ecosystem around the Cortex-M0+ is extensive and allows faster time-to-market.

For less demanding applications that only require basic I/O, timers, UARTs, etc. almost any Cortex-M0+ microcontroller will suffice. The core ARM architecture provides enough processing performance and capability for simple control and sensing applications. Variations in memory, clocks speeds, and peripherals matter less.

Customization for Specific Use Cases

For applications with tougher performance requirements, more advanced interfaces, or stringent power budgets, the differences between Cortex-M0+ devices become more significant. The ideal microcontroller for one application may be completely unsuitable for another. Some examples requiring customization:

  • Sensor hub processing sensor fusion algorithms requires fast clock and math co-processor.
  • Motor control needs many PWM outputs and fast ADC sampling.
  • Voice recognition needs hardware digital signal processing.
  • Battery-powered designs need lowest possible energy usage.

The wide variety of Cortex-M0+ microcontrollers allows tailoring to the specific use case requirements. One design may emphasize analog and have multiple ADCs and comparators. Another design may focus on connectivity with USB, Ethernet, and wireless radios. The flexibility of the Cortex-M0+ ecosystem allows chip vendors to create customized solutions.

Example Vendor Customizations

Here are some examples of how major vendors have customized Cortex-M0+ MCUs for different applications:

ST Microelectronics STM32L0 Series

  • Focus on ultra-low power for IoT edge nodes.
  • Uses a 28nm FD-SOI process for efficient power scaling.
  • Has multiple low power modes for sleep current down to 0.6 μA.
  • 2 UARTs, 2 SPI, I2C, USB for connectivity.

NXP LPC800 Series

  • Cost-optimized family for simple control applications.
  • Uses 40nm process for low cost.
  • Up to 50 MHz clock speed.
  • GPIO, USART, SPI, I2C, and timers.
  • Available in compact WLCSP packages.

Microchip SAM L10/L11 Series

  • Focus on hardware security features.
  • Integrated crypto authentication and secure boot.
  • Supports mTouch capacitive touch sensing.
  • Multiple serial interfaces and ADCs.
  • Targets security-critical IoT edge nodes.

Conclusion

The Cortex-M0+ architecture strikes a balance by providing a standardized processor platform that enables software reuse, while still allowing customization by vendors for differentiation. For generic applications, the core ARM CPU provides good performance per MHz and can be leveraged across different microcontroller families. But for more advanced embedded systems, choosing a Cortex-M0+ MCU tailored for the specific use case requirements is crucial.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article How to Create a Hard Fault Handler that Prints Out Call Stack on Cortex-M0+?
Next Article Cortex M0+, AHB state during Exception
Leave a comment Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

2k Followers Like
3k Followers Follow
10.1k Followers Pin
- Sponsored-
Ad image

You Might Also Like

How much memory does the Cortex-M35P have?

The Cortex-M35P from ARM is a new microcontroller targeted for…

6 Min Read

Tips for Updating Vivado and Migration of ARM Projects

Updating to the latest version of Xilinx Vivado can provide…

7 Min Read

Security features of The Arm Cortex-A76 (Explained)

The Arm Cortex-A76 is a high-performance CPU core designed for…

10 Min Read

ARM Cortex-M1 FPGA Debugging Workarounds without Virtual JTAG

The ARM Cortex-M1 processor is a popular choice for embedded…

8 Min Read
SoCSoC
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
Welcome Back!

Sign in to your account