The Arm CoreLink System Design Kit is a new product family that helps SoC designers create efficient systems faster. Therefore, it was a natural step for Arm to include it as part of the new Arm Cortex-M3 DesignStart program, as it will allow design teams to create Cortex-M3 based IoT and embedded products quickly. The new CoreLink SDK-100 is available to Cortex-M3 DesignStart users and this article will explain what you will get out of the box.
Arm DesignStart provides the fastest, simplest access to Arm IP, including instant evaluation access to Cortex-M0 and Cortex-M3 systems, with no upfront license fee to commercialize.
The Cortex-M3 is the processor of choice for IoT devices and applications, and the CoreLink SDK-100 brings together several key elements that complement the IP core. These include:
Figure 1 - Use the Cortex-M3 and CoreLink SDK-100 to design the next "big" thing in IoT, such as this Cortex-M3 powered braille watch
The fastest way to get a new product up and running is to start with a working system! It is always better to start from a pre-validated subsystem, which includes a processor connected through an efficient interconnect to its memory system and peripherals. It is also important to choose a subsystem that supports easy extension to build a full SoC via pre-built expansion ports.
Figure 2 - The Arm CoreLink SSE-050 subsystem
The CoreLink SSE-050 subsystem is a perfect match your smart embedded device! It is based around the Cortex-M3 CPU and derived from a subsystem already used by Arm partners and proven in silicon. It not only provides a pre-assembled set of hardware IP, but it also supports a complete software framework to help you build IoT applications.
The latest version of the Arm mbed OS software platform for IoT even runs on the subsystem directly out of the box. Based on a real-time OS, mbed OS contains most of the elements you will need in your IoT projects (from security to device management to cloud connectivity). Even better, as mbed OS is open-source, you can customize it to your needs, and therefore, differentiate your product.
The CoreLink SSE-050 subsystem is also supported by the Cortex-M prototyping FPGA platform (MPS2+), and together with mbed OS, you can now quickly create prototypes for your applications.
Finally, whilst the subsystem is a great way to start, you can also modify it to suit your particular application: it will be much faster than starting from a blank page!
The Cortex-M System Design Kit (CMSDK) is a set of IP blocks that support the Cortex-M cores and are compliant with AHB and APB specifications.
Developed by Arm as part of the AMBA standards, AHB and APB are the most successful interconnect standards and have been adopted by almost all the IP providers. You can find an enormous range of peripherals, accelerators, mixed-signal blocks, and other specific devices, that connect to either of these busses.
The CMSDK contains a generator which allows you to create your own customized multi-layered AHB interconnects, which can carry several simultaneous transactions. This improves bus utilisation, minimizes energy wasted and increases performance. Designers of IoT applications will appreciate this!
The CMSDK also features a complete set of synchronous and asynchronous bridges, bus slaves, interfaces, a range of peripherals (including UART, watchdog and timers), and further example systems to show how to organize these items together.
The components within CMSDK can be used to easily extend the CoreLink SSE-050 subsystem to quickly build a SoC.
In embedded systems, embedded flash is a very efficient way to reduce the component count, reduce the power consumption and increase the security (by hiding the internal activity from an external attack). To make the most out of an embedded flash, you need to make use of a cache. The key benefits of the Flash Cache are:
The cache included in CoreLink SDK-100 allows you to boost your system - just insert the cache between your interconnect and your Flash Controller, and voilà!
Even if you are not designing a watch like the example shown above, you very often need to maintain the notion of time in your system. This is particularly important for IoT applications, where nodes have to timestamp events or keep track of real time for cloud communication.
You will want to use a True Random-Number Generator (TRNG) to generate – unsurprisingly – random numbers. Believe me, this is important, even if your application is not an electronic coin-flipper!
Random numbers are actually very useful in cryptography, since they are used to seed algorithms and make sure that the output is absolutely unpredictable. Any bias in the randomness is a weakness that can be exploited to crack the security. It is very important to maximize the entropy (i.e. the randomness), which is unfortunately impossible to do in software.
The TRNG integrated into the CoreLink SDK-100 is a state-of-the-art generator that will help you implement strong security in your IoT applications.
With the CoreLink SDK-100 and the Cortex-M3, you have the tools to craft exceptional, secure, energy-efficient systems for embedded and IoT applications. You can start from a proven hardware and software foundation, play with it on FPGA, then expand your system with complementary IP and Arm’s huge software and tools ecosystem. Now the only limit is your creativity!
Get fast, simplified access to the Cortex-M3 CPU and CoreLink SDK-100
Learn more about CoreLink SDKs