Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Arm Community blogs
Arm Community blogs
Tools, Software and IDEs blog Heterogeneous development made easy: STM32MP1 device support within Arm development tools
  • 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
  • Keil MDK
  • Arm Development Studio
  • Heterogeneous Computing
  • STM32
  • Debugger
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Heterogeneous development made easy: STM32MP1 device support within Arm development tools

Ronan Synnott
Ronan Synnott
July 11, 2019
4 minute read time.

The STM32MP1 series of general-purpose devices are based on heterogeneous Cortex-A7 and Cortex-M4 cores. These devices are supported by both the Arm Development Studio and Keil MDK toolchains, and either could be used, depending on your use case. Both feature the industry leading Arm Compiler for best in class code size and performance, as well as fully featured debugging environments. For a deeper discussion on the differences between Development Studio and MDK, please see my previous blog, Arm Development Studio or MDK? Which should you choose?. Note that a Development Studio license will also enable Keil MDK.

Embedded Cortex-M development with Keil MDK

For many users, the Cortex-A7 will run a pre-supplied Linux image, and so will only develop embedded code for the Cortex-M4. For this use case, MDK may be sufficient, and is thoroughly documented by this Application Note. You may also wish to check out this on-demand webinar demonstrating this use case. Software packs allow users to easily create and manage advanced projects.

 Manage run time environment pane in MDK

The µVision IDE has support for the ulink family of debug adapters, as well as various others from other vendors, including ST-Link, commonly implemented on low cost evaluation boards. This will likely be familiar to users of STM32 MCUs, as MDK has supported these devices since their inception, totaling 1300+ devices today.

 MDK debug session with STM32MP1

Unified heterogeneous development with Development Studio

For users who are developing software for both the Cortex-A and Cortex-M, then Development Studio, which can support all Arm processors, is an excellent choice. The Arm Debugger provides the capability to simultaneously debug all Arm processors in the heterogeneous device. This tool can be used for kernel and device driver development, as well as Linux application debug via gdbserver. It can also be used for RTOS and bare-metal development on any CPU in the system.

With Development Studio 2019.0 and subsequent releases, we provide some out-of-the-box bare-metal examples and debug configurations, verified on the STM32MP157C evaluation board. These examples include illustrative use of ITM and STM, which are both present on the STM32MP1, and can be used for non-intrusive printf style logging in your application, collected in the trace stream, and visualized in the Events pane of the debugger.

 Import examples view in Arm Development Studio

Connection to the board can be via the ULINK or DSTREAM family of devices. In the below, One can easily connect to, debug, and trace all the components in the system simultaneously. The below shows trace from the Cortex-A7 (upper left), Cortex-M4 (lower left), and the STM (right side) using the provided examples (edited to loop forever), collected via the DSTREAM-PT debug and trace probe.

 Trace views within Arm Development Studio

Support for CMSIS and software packs

Development Studio also has support for software packs. Users can take advantage of these to reuse code examples you may have from MDK, perhaps from previous STM32 projects. Navigate to the Software Pack Manager perspective in the IDE, and you will find appropriate device packs for this platform. Expect more to become available in the future. As these packs are maintained externally to the tool, updates will be automatically available as they are released.

 Software pack manager perspective within Arm Development Studio

You may note that some of the projects are supplied as µVision projects, some as Development Studio projects. Development Studio can import and convert the µVision projects as necessary. The IDE allows the user to manage the software components of the project in a similar way to MDK does.

 Manage run time environment in Arm Development Studio

Similarly the software pack description of the device can be used to further simplify the debug configuration.

Software pack based debug configuration

Regardless of how you connect, the same powerful debug features of the tool will be available to you.

Leading edge compiler support

I did not discuss in detail here, but both MDK and Development Studio use the latest Arm Compiler by default to build their projects. This leading edge compiler provides the best code size and performance available. To learn more, I recommend this blog.

In conclusion

Arm Development Studio featuring Keil MDK provides a complete scaleable solution to match your development needs for any Arm based system. Ever more integrated and complex devices are becoming commonplace and Arm has all the capabilities necessary to be on the leading edge supporting them. If you have not already, we invite you to take a free evaluation of Development Studio, which will also enable MDK (downloadable separately).

Evaluate Development Studio now

* banner image adapted from version on ST website

Anonymous
Parents
  • Ronan Synnott
    Ronan Synnott over 4 years ago

    Update: Development Studio 2020.0 (and later) add support for ST-Link connections
    community.arm.com/.../development-studio-2020-0

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Comment
  • Ronan Synnott
    Ronan Synnott over 4 years ago

    Update: Development Studio 2020.0 (and later) add support for ST-Link connections
    community.arm.com/.../development-studio-2020-0

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Children
No Data
Tools, Software and IDEs blog
  • Python on Arm: 2025 Update

    Diego Russo
    Diego Russo
    Python powers applications across Machine Learning (ML), automation, data science, DevOps, web development, and developer tooling.
    • August 21, 2025
  • Product update: Arm Development Studio 2025.0 now available

    Stephen Theobald
    Stephen Theobald
    Arm Development Studio 2025.0 now available with Arm Toolchain for Embedded Professional.
    • July 18, 2025
  • GCC 15: Continuously Improving

    Tamar Christina
    Tamar Christina
    GCC 15 brings major Arm optimizations: enhanced vectorization, FP8 support, Neoverse tuning, and 3–5% performance gains on SPEC CPU 2017.
    • June 26, 2025