Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Embedded and Microcontrollers blog Cortex-M System Design Kit - Now what to do with two more wishes?
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded and Microcontrollers blog

  • Internet of Things (IoT) blog

  • Laptops and Desktops blog

  • Mobile, Graphics, and Gaming blog

  • Operating Systems blog

  • Servers and Cloud Computing blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tags
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Cortex-M System Design Kit - Now what to do with two more wishes?

Joseph Yiu
Joseph Yiu
September 11, 2013

Many recent licensees of ARM Cortex-M  are new to the ARM architecture.  For them, a design kit that is tailor-made for Cortex-M processors and delivers a short learning curve, reduced time to market and enables their designers to focus on developing features that provide differentiation and value, would be a dream come true!  Lo and behold, with the swish of our magic wand and a puff of smoke, ARM has recently delivered the Cortex-M System Design Kit (CMSDK) which delivers all of the above. The kit contains reusable IP, hardware design examples and software examples to enable Cortex-M system designers to develop complex SoC designs and bring them to silicon faster.

The CMSDK package
The CMSDK is available in two editions: the Cortex-M0 System Design Kit, which supports the ARM Cortex-M0 processor, and the Cortex-M System Design Kit, which supports the ARM Cortex-M0, Cortex-M3 and Cortex-M4 processors.


Figure 1: the Cortex-M0 System Design Kit

Figure 2: the Cortex-M System Design Kit



AMBA infrastructure
Both editions of CMSDK feature various essential AHB and APB infrastructure components including:

  • Peripheral bridge with APB3 (AMBA 3) and APB4 (AMBA 4) support
  • Time out monitors to prevent peripheral from locking up a system
  • Bit band wrapper for Cortex-M0 to allow part of the memory map to become bit addressable, a feature previously only available to Cortex-M3 or Cortex-M4 processors.

The Cortex-M System Design Kit also includes the AHB Bus Matrix, a configurable component which allows complex AHB interconnect systems to be built. 

The Example Systems
The example systems are designed to work like basic microcontrollers.  For example, the block diagram for the Cortex-M0 example system is shown in figure 3.


Figure 3: Example Cortex-M0 system


It is straightforward to extend the system and plug in other peripheral designs. For designers new to AMBA design, the example AHB slave and example APB slaves are a good starting point.
 
Software
As well as RTL design, the CMSDK also includes example software and simulation scripts to allow system level simulation to start straight away.  The example software files include:

  • CMSIS compliant device driver examples.
  • Example demonstration/verification software and project files for various tool chains.

The example code demonstrates how to use various features in the Cortex-M processors like sleep modes, interrupts, as well as demonstrate how to use the peripheral set available in the system.
 
Verification
A number of verification components are also included in the design kit to assist verification of the design. These include various AHB and APB protocol checkers, which can identify bus protocol issues during simulations, and a File Reader Bus Master (FRBM) component.  The FRBM is a bus functional model which takes a bus stimulus file and generates bus transfers during simulation.  This includes many bus transfer sequences that cannot, or are very difficult to generate in a normal processor-based system which can be very useful for testing of peripherals.  The FRBM is available in a 32-bit version and a 64-bit version.
 
Usage
Besides providing a starting point for designing new SoC designs, the CMSDK can also be useful in various other scenarios including peripheral design, software driver development and evaluation/benchmarking.

In summary, the CMSDK provides inexperienced ARM Cortex-M developers with everything they need to get developing next generation SoCs based on the industry's leading MCU architecture.

All that and with two wishes left to spare. Tell us what you would use those wishes for, you never know they might come true!

Footnote:
In real life there are no wands or magic dust, just a bunch ARM engineers who are committed to innovation and development of effective solutions for the IT industry. 

Anonymous
  • DonVerilog
    DonVerilog over 5 years ago

    very useful, thanks

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Embedded and Microcontrollers blog
  • Adapting Kubernetes for high-performance IoT Edge deployments

    Alexandre Peixoto Ferreira
    Alexandre Peixoto Ferreira
    In this blog post, we address heterogeneity in IoT edge deployments using Kubernetes.
    • August 21, 2024
  • Evolving Edge Computing and Harnessing Heterogeneity

    Alexandre Peixoto Ferreira
    Alexandre Peixoto Ferreira
    This blog post identifies heterogeneity as an opportunity to create better edge computing systems.
    • August 21, 2024
  • Demonstrating a Hybrid Runtime for Containerized Applications in High-Performance IoT Edge

    Chris Adeniyi-Jones
    Chris Adeniyi-Jones
    In this blog post, we show how a hybrid runtime and k3s can be used to deploy an application onto an edge platform that includes an embedded processor.
    • August 21, 2024