Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Embedded 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 and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems 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 4 years ago

    very useful, thanks

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Embedded blog
  • The flexible approach to adding Functional Safety to a CPU

    James Scobie
    James Scobie
    Find out more about Functional Safety with SoC designs and Software Test Libraries.
    • November 8, 2022
  • The importance of building functional safety into your design right from the start

    Madhusudan Rao
    Madhusudan Rao
    Currently, there are many processors that are not designed with functional safety standards in mind and the use of these can lead to lengthy and costly qualification processes for safety relevant applications…
    • November 8, 2022
  • Arm Safety Ready program: Building confidence into your application

    Madhusudan Rao
    Madhusudan Rao
    To demonstrate Arm’s commitment to functional safety, we announce the launch of our Safety Ready program.
    • November 8, 2022