Taking embedded software development to the next level

2 mins read

In many respects the IoT runs on Arm with the Cortex-M processor family, described by many, as the de-facto industry standard for embedded compute with over 9,500 different microcontrollers from 38 different silicon vendors now available.

“The demand for more machine learning (ML) capabilities in IoT applications is growing exponentially, and our roadmap has evolved to meet these needs with the introduction of the Cortex-M55 and Cortex-M85 microcontrollers (MCUs), designed to address high-performance ML and DSP workloads, and Neural Processing Units such as the Ethos-U microNPU family which accelerates ML inference in resource-constrained embedded and IoT devices,” said Reinhard Keil, senior director, embedded technology Arm.

As IoT devices get smarter, developers are facing increasing software complexity that requires new development flows that create optimised ML models combined with efficient device drivers.

Consequently, software development platforms and tools are having to evolve alongside Arm’s processor roadmap.

“The Keil Microcontroller Development Kit (Keil MDK) is the most comprehensive software development solution for Arm Cortex-M-based embedded, IoT, and ML edge device applications, and we’re releasing Keil MDK Version 6, optimised for the entire Arm Cortex-M and Ethos-U processor portfolio,” said Keil. “The compute capabilities of today’s microcontrollers require MLOps for deploying machine learning models and DevOps for validating complex software workloads.”

Keil MDK Version 6 addresses these needs by extending to include:

Keil Studio Desktop, an extension pack for Microsoft Visual Studio Code (VS Code) provides an integrated development environment (IDE) for Cortex-M based microcontrollers. With full support of CMSIS workflows and an integrated debugger, it includes components to create, build, and test embedded applications on Windows, Linux, and macOS host computers. VS Code integrates with Git version control and offers a rich set of third-party extensions.

CMSIS-based development flows with the CMSIS-Toolbox are a critical element of Keil MDK Version 6. It starts with a device or board selection that configures the complete toolchain including debug and gives access to reusable software components including various RTOS kernels, device drivers, and middleware. CMSIS also provides compute and machine learning libraries that are optimized for the entire Cortex-M processor portfolio. The new CMSIS-View component implements event-based software verification including execution time analysis which is also used to determine the best matching ML models for the application.

integration of Arm Virtual Hardware (AVH) removes the need to develop on physical silicon, virtualizing a complete SoC subsystem based on Arm processors, enables test automation of software workloads with precise Cortex-M simulation models. The Keil MDK integration supports test case development and verification on desktop systems. Combining desktop and cloud-based workflows allows developers to embrace CI/CD, DevOps, and MLOps core concepts and a software first development approach. AVH is available in multiple deployments such as GitHub, Qeexo AutoML, Keil Studio Cloud, and AWS AMI for flexible cloud access.

Along with newly introduced host support for Windows, Linux, and macOS, MDK Version 6 continues to include the proven µVision IDE for Windows and features for functional safety.

Embedded systems frequently require several years of product longevity and MDK supports the entire product lifecycle from initiation to completion and maintenance.

Keil Studio Cloud continues to complement the MDK desktop tools with a ready-to-use cloud-native development environment that requires no installation.