The race is on. The path to secure end-to-end IoT is now paved with the announcement of the ARM® Cortex®-M23 and Cortex-M33 processors. They are the first deeply embedded processors to include ARM TrustZone® for ARMv8-M techcnology, which means that hardened protection against security threats will soon be available in even the smallest of microcontrollers. All of a sudden, market forecasts such as IDC’s 30 billion connected IoT endpoints in 2020 seem closer than ever. So if you are planning to be at the forefront of IoT, there is more good news: ARM also provides complete ARMv8-M software development cockpits to help accelerate your software project. Being developed and optimized alongside each processor architecture, ARM software development tools and models enable scalable software development to be kicked off months ahead of silicon availability. Here are some ARM development tools you should know about.
One of the highlights of the new ARMv8-M architecture is the introduction of secure and non-secure software partitioning model. This new capability, enabled by TrustZone technology, allows software applications to be designed so as to restrict access to sensitive firmware, peripherals and I/O to only the trusted portion of the whole program. This logical separation reduces attack surface and can dramatically simplify security testing. TrustZone for ARMv8-M security extensions will start to appear in microcontrollers sometime in 2017, but in the fast-paced IoT market a few months separate pioneers and late entrants. For this reason, both ARM Keil MDK and ARM DS-5 Development Studio include ARMv8-M-capable Fixed Virtual Platforms (FVP). FVPs are programmer’s view models that enable agile software development and testing on PC platforms. From within MDK or DS-5 integrated development environments (IDE), developers can go through the bulk of the development cycle using virtual platforms until hardware prototypes become available. Many ARM partners have relied on virtual platforms built on ARM Fast Models to be ready with their software stacks before chips arrive on the market.
figure 1: TrustZone for ARMv8-M software compartmentalization
The Keil MDK-ARM toolkit includes all components required to write, build, optimize and debug embedded applications on ARMv8-M based microcontrollers. From highly tuned C/C++ code generation for Cortex-M23/Cortex-M33 processors with ARM Compiler 6 to TrustZone-aware debug connections and compartmentalized project manager, every aspect of the tool suite has been extended to help software engineers easily navigate between secure and non-secure states. It can be used for early software development today on FPGA and virtual platforms, including the Cortex-M Prototyping System MPS2+ board and FVP (included). Moreover, the concept of Software Packs provides users with a variety of software building blocks from ARM and third party vendors to further speed up product deployment. These include, for instance, device support packs and royalty-free middleware components for security, encryption and networking. Everything to help you focus on your own value-add IoT application, not on standard software stacks.
figure 2: Partitioned software project and ARMv8-M SAU setup
For those bringing up or developing software for complex multi-core SoCs that include ARMv8-M processors, like IoT gateways for example, the DS-5 toolkit offers high-performance tools to debug, trace and analyze in detail any class of Cortex processors. As the flagship toolkit from ARM for SoC developers, DS-5 covers the entire development lifecycle, from SoC validation/testing on RTL simulators all the way to optimization of Android applications for big.LITTLE systems. With the DS-5 Debugger, for instance, it is possible to simultaneously connect to one or more peripheral microcontrollers and the main application processor to analyze and debug issues arising from inter-processor communication. The tool suite fully supports all the latest architectures and processors from ARM, including the recently announced Cortex-R52 processor.
figure 3: Auto-detection of a heterogenous Cortex-A9 and Cortex-M3 SoC with all associated ARM CoreSight™ components
Like many of our lead silicon partners, you can start developing software for ARMv8-M architecture, including TrustZone technology, using our development tools available now (links below). Towards the end of November, MDK-ARM version 5.22 and DS-5 version 5.26 are arriving bringing public support for the recently announced Cortex-M23, Cortex-M33 and Cortex-R52 processors along with exciting new features.
Evaluate ARM Keil MDK
Evaluate ARM DS-5 Development Studio
Evaluate ARM Fast Models
Get notified when new ARM tools are released