SlideShare a Scribd company logo
©ARM 2017
Efficient software development with
heterogeneous devices
Stefano Cadario
Embedded World 2017 – Nuremberg
Product Manager – Keil MDK
March 16th , 2017
©ARM 20172
Agenda
1. Advantages of heterogenous devices
2. How to manage inter-processor communication
3. How tools can simplify development and debug
4. Summary and Q&A
©ARM 20173
ARM architecture for diverse computing needs
Cortex-A
Highest performance
Optimized for
rich operating systems
Cortex-R
Fast response
Optimized for
high performance,
hard real-time applications
Cortex-M
Smallest/lowest power
Optimized for
discrete processing and
microcontrollers
©ARM 20164
Thanks for reading
For more on heterogeneous development visit arm.com
Sign-up for the latest news and information from ARM
©ARM 20175
Modern compute systems have diverse workloads
Power
Time
Sleep mode
Interactive mode
Ambient mode
©ARM 20176
Why heterogeneous devices?
Cortex-A benefits
§ Feature rich OS
§ Complex applications
§ Sophisticated HMI
Cortex-M benefits
§ Low I/O latency
§ Low power standby
§ Fast system start-up time
Linux application RTOS system
Inter-processor communication
Combines best of both worlds: feature-rich Linux and MCU with deterministic RTOS
©ARM 20177
Use cases of HMP systems in embedded
Cortex-A Rich UI and OS, high performance
Cortex-M Real-time control
and monitoring
Deterministic
sensor control
Real-time
monitoring
MedicalConsumerIndustrial
©ARM 20178
Overview of software challenges
Developer
productivity
Usability,
portability,
debugging
Data
sharing
Is coherency
necessary?
Task
partitioning
How to optimally
partition tasks?
©ARM 20179
Overview of software challenges
Developer
productivity
Usability,
portability,
debugging
Data
sharing
Is coherency
necessary?
Task
partitioning
How to optimally
partition tasks?
©ARM 201710
Software development challenges
§ Running multiple operating systems
§ Debugging bare-metal code and Linux
applications at the same time
§ Controlling communication between Linux
application and bare-metal application
Linux application
MCU application
Common peripherals
Shared memory
ARM
Cortex-A7
Inter-processor
communication
ARM
Cortex-M4
Linux OS
Complexity increases with heterogeneous devices
©ARM 201711
Software development challenges
§ Requires to write a Linux kernel module
§ Memory segmentation
§ Manage concurrency
§ Kernel mode to User mode communication
§ Bare-metal
§ Manage concurrency
§ Integration with RTOS
§ Handle interrupts and memory management
Shared memory
ARM
Cortex-A7
ARM
Cortex-M4
Linux OS
Kernel module
Linux application MCU application
Manually manage communication between Cortex-A and Cortex-M
Common peripherals
IPC
©ARM 201712
Software development challenges
§ CMSIS adopting OpenAMP
§ CMSIS - Cortex Microcontroller Software Interface
Standard
§ Now open source on Github
§ OS support for HMP systems
§ Remote Processor Messaging (RPMsg) for inter-
processor communication
§ Management framework using remoteproc
Standardization of software interfaces
Shared memory
ARM
Cortex-A7
ARM
Cortex-M4
Linux OS RTX5
RPMsg module
Linux application MCU application
Common peripherals
RPMsg library
©ARM 201713
DS-MDK for heterogeneous systems
Software development solution for Cortex-A and Cortex-MMDKToolsSoftwarePacks
MDK-Core ARM C/C++ Compiler DS-MDK
Device
µVision IDE
with Pack Management
ARM Compiler 5
with Qualification Kit
µVision Debugger
with Streaming Trace
Startup
Device HAL
CMSIS Driver
CMSIS
CMSIS-CORE
CMSIS-DSP
CMSIS-RTOS
DS-5 IDE
with Pack Management
DS-5 Debugger
with Streamline
Middleware
USB Host
File System Graphics
USB Device
IPv6 NetworkIPv4 Network
ARM Compiler 6
LLVMTechnology
mbed TLS
Encryption
mbed Client
IoT Connector
Eclipse CDT based with
CMSIS management
provides access to
documentation, CMSIS
framework and software
components.
Software Packs for NXP's
i.MX6 and i.MX7 are
available.
Support for other devices
in the future.
©ARM 201714
Multiple simultaneous debug connections
Cortex-A Cortex-M
RTOS systemLinux kernel
Linux
application
JTAG
TCP/IP
CoreSight
Microcontroller
application
Debug
ü The Cortex-M application via ULINKpro and
analyse with RTOS awareness and peripheral
views.
ü The Cortex-A Linux kernel and Linux kernel
modules via ULINKpro and list kernel threads
and processes.
ü The Cortex-A Linux application via gdbserver
on the running Linux system using Remote System
Explorer.
Complete visibility to all software applications in the heterogeneous system
©ARM 201715
Efficient software development on HMP
Combines best of both worlds
Feature-rich Linux and MCU with deterministic RTOS on same chip
Standardization of software interface
Speed-up your development with CMSIS
Multicore debug support
Simplifies software development on heterogeneous devices
The trademarks featured in this presentation are registered and/or unregistered trademarks of ARM Limited
(or its subsidiaries) in the EU and/or elsewhere. All rights reserved. All other marks featured may be
trademarks of their respective owners.
Copyright © 2016 ARM Limited
©ARM 2016

More Related Content

PDF
Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...
 
PDF
A practical approach to securing embedded and io t platforms
 
PDF
Developing functional safety systems with arm architecture solutions stroud
 
PDF
The importance of strong entropy for iot
 
PDF
So you think developing an SoC needs to be complex or expensive?
 
PDF
Software development in ar mv8 m architecture - yiu
 
PDF
Project Trillium: Arm Machine Learning Platform
 
PDF
SIPROTEC 5 - The core of digital substations
Optimizing ARM cortex a and cortex-m based heterogeneous multiprocessor syste...
 
A practical approach to securing embedded and io t platforms
 
Developing functional safety systems with arm architecture solutions stroud
 
The importance of strong entropy for iot
 
So you think developing an SoC needs to be complex or expensive?
 
Software development in ar mv8 m architecture - yiu
 
Project Trillium: Arm Machine Learning Platform
 
SIPROTEC 5 - The core of digital substations

What's hot (20)

PDF
Protection, Automation and Monitoring: SIPROTEC 5 v7.9/v8.0
PDF
Siprotec 5 v7.9 v8.0 DigitalTwin
PDF
Protection relays and controls SIPROTEC 5 New Version V7.5
PDF
BKK16-200 Designing Security into low cost IO T Systems
PDF
Siprotec 5 - Expanded Cyber Security Capabilities
PDF
PPTX
mbed Connect Asia 2016 mbed HDK From prototype to production
PDF
Emdg c10065-02-7600 relay-selection_guide_edition_7_en
PDF
New SIPROTEC 5 Version 7.8 - Overview
PPTX
mbed Connect Asia 2016 Developing IoT devices with mbed OS 5
PPTX
mbed Connect Asia 2016 Developing IoT endpoints with mbed client
PDF
2020 MCS Industrial AI-edge-computer
PPTX
mbed Connect Asia 2016 Overview of mbed Device Connector
PPTX
mbed Connect Asia 2016 mbed Enabled
PDF
Transformation From Today To Tomorrow - Market and Product Strategy 2018
PDF
LAS16-112: mbed OS Technical Overview
PPTX
Data on the move a RISC-V opportunity
PDF
Innovation Summit 2015 - 7 - IoT Future
PDF
IGS-5227-6MT Industrial Managed Ethernet Switch
PPTX
Cloud managed secure wi fi
Protection, Automation and Monitoring: SIPROTEC 5 v7.9/v8.0
Siprotec 5 v7.9 v8.0 DigitalTwin
Protection relays and controls SIPROTEC 5 New Version V7.5
BKK16-200 Designing Security into low cost IO T Systems
Siprotec 5 - Expanded Cyber Security Capabilities
mbed Connect Asia 2016 mbed HDK From prototype to production
Emdg c10065-02-7600 relay-selection_guide_edition_7_en
New SIPROTEC 5 Version 7.8 - Overview
mbed Connect Asia 2016 Developing IoT devices with mbed OS 5
mbed Connect Asia 2016 Developing IoT endpoints with mbed client
2020 MCS Industrial AI-edge-computer
mbed Connect Asia 2016 Overview of mbed Device Connector
mbed Connect Asia 2016 mbed Enabled
Transformation From Today To Tomorrow - Market and Product Strategy 2018
LAS16-112: mbed OS Technical Overview
Data on the move a RISC-V opportunity
Innovation Summit 2015 - 7 - IoT Future
IGS-5227-6MT Industrial Managed Ethernet Switch
Cloud managed secure wi fi
Ad

Viewers also liked (13)

PPTX
SOC Architecture Workshop - Part 1
PDF
SOC Architecture - Building the NextGen SOC
PDF
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
PDF
Presupuestos de-ventas
PDF
Vicious
PDF
DOES15 DevOps@TGT (re)building an engineering culture
DOCX
01 taller decreto 2649 1993 y ley 1314 2009
PDF
Data center outsourcing a new paradigm for the IT
PDF
1შესავალი ლგბტ ფსიქოლოგიაში
ODP
Proyecto Vigilacorrea. ARIADNA GÓMEZ LIÑÁN. CEIP XARBLANCA. DIVERMENTE
PPTX
Melt iron heterogeneous computing - lspe v3
PPTX
Storage and warehousing
PDF
Caracteristicas de la ley 1314 2009
SOC Architecture Workshop - Part 1
SOC Architecture - Building the NextGen SOC
SR-IOV: The Key Enabling Technology for Fully Virtualized HPC Clusters
Presupuestos de-ventas
Vicious
DOES15 DevOps@TGT (re)building an engineering culture
01 taller decreto 2649 1993 y ley 1314 2009
Data center outsourcing a new paradigm for the IT
1შესავალი ლგბტ ფსიქოლოგიაში
Proyecto Vigilacorrea. ARIADNA GÓMEZ LIÑÁN. CEIP XARBLANCA. DIVERMENTE
Melt iron heterogeneous computing - lspe v3
Storage and warehousing
Caracteristicas de la ley 1314 2009
Ad

Similar to Efficient software development with heterogeneous devices (20)

PDF
Arm based controller - basic bootcamp
PPTX
Embedded System on design web development.pptx
PPTX
Embedded Systems design by using micro controller and micro processor
PDF
EFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIES
PPTX
PPT MES class.pptx
PPTX
MES PPT.pptx
PPT
Embeddedsystem basic for Engineering Students
PDF
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
PDF
Embedded Systems: Lecture 2: Introduction to Embedded Systems
PPTX
Mces MOD 1.pptx
PPTX
Embedded systems
PPTX
Lect 1_Embedded Linux Embedded RTOS ppt
PPTX
mod1_arm_embedded_systems_ppt_2021_22_odd_oe.pptx
PPTX
The Comprehensive Guide to Embedded Systems Architecture: Building Blocks, De...
PPTX
Unit vi (1)
PPTX
Embedded Systems Overview
PDF
AAME ARM Techcon2013 003v02 Software Development
PDF
How to Select Hardware for Internet of Things Systems?
PPTX
Introduction to embedded systems
PDF
Introduction to Embedded System
Arm based controller - basic bootcamp
Embedded System on design web development.pptx
Embedded Systems design by using micro controller and micro processor
EFFECTIVE EMBEDDED SYSTEMS SOFTWARE DESIGN METHODOLOGIES
PPT MES class.pptx
MES PPT.pptx
Embeddedsystem basic for Engineering Students
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
Embedded Systems: Lecture 2: Introduction to Embedded Systems
Mces MOD 1.pptx
Embedded systems
Lect 1_Embedded Linux Embedded RTOS ppt
mod1_arm_embedded_systems_ppt_2021_22_odd_oe.pptx
The Comprehensive Guide to Embedded Systems Architecture: Building Blocks, De...
Unit vi (1)
Embedded Systems Overview
AAME ARM Techcon2013 003v02 Software Development
How to Select Hardware for Internet of Things Systems?
Introduction to embedded systems
Introduction to Embedded System

Recently uploaded (20)

PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
project resource management chapter-09.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PPTX
Modernising the Digital Integration Hub
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Architecture types and enterprise applications.pdf
PDF
August Patch Tuesday
PPTX
1. Introduction to Computer Programming.pptx
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPT
What is a Computer? Input Devices /output devices
PPTX
The various Industrial Revolutions .pptx
O2C Customer Invoices to Receipt V15A.pptx
A contest of sentiment analysis: k-nearest neighbor versus neural network
Web App vs Mobile App What Should You Build First.pdf
A novel scalable deep ensemble learning framework for big data classification...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
project resource management chapter-09.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Group 1 Presentation -Planning and Decision Making .pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Modernising the Digital Integration Hub
Zenith AI: Advanced Artificial Intelligence
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Architecture types and enterprise applications.pdf
August Patch Tuesday
1. Introduction to Computer Programming.pptx
Enhancing emotion recognition model for a student engagement use case through...
gpt5_lecture_notes_comprehensive_20250812015547.pdf
What is a Computer? Input Devices /output devices
The various Industrial Revolutions .pptx

Efficient software development with heterogeneous devices

  • 1. ©ARM 2017 Efficient software development with heterogeneous devices Stefano Cadario Embedded World 2017 – Nuremberg Product Manager – Keil MDK March 16th , 2017
  • 2. ©ARM 20172 Agenda 1. Advantages of heterogenous devices 2. How to manage inter-processor communication 3. How tools can simplify development and debug 4. Summary and Q&A
  • 3. ©ARM 20173 ARM architecture for diverse computing needs Cortex-A Highest performance Optimized for rich operating systems Cortex-R Fast response Optimized for high performance, hard real-time applications Cortex-M Smallest/lowest power Optimized for discrete processing and microcontrollers
  • 4. ©ARM 20164 Thanks for reading For more on heterogeneous development visit arm.com Sign-up for the latest news and information from ARM
  • 5. ©ARM 20175 Modern compute systems have diverse workloads Power Time Sleep mode Interactive mode Ambient mode
  • 6. ©ARM 20176 Why heterogeneous devices? Cortex-A benefits § Feature rich OS § Complex applications § Sophisticated HMI Cortex-M benefits § Low I/O latency § Low power standby § Fast system start-up time Linux application RTOS system Inter-processor communication Combines best of both worlds: feature-rich Linux and MCU with deterministic RTOS
  • 7. ©ARM 20177 Use cases of HMP systems in embedded Cortex-A Rich UI and OS, high performance Cortex-M Real-time control and monitoring Deterministic sensor control Real-time monitoring MedicalConsumerIndustrial
  • 8. ©ARM 20178 Overview of software challenges Developer productivity Usability, portability, debugging Data sharing Is coherency necessary? Task partitioning How to optimally partition tasks?
  • 9. ©ARM 20179 Overview of software challenges Developer productivity Usability, portability, debugging Data sharing Is coherency necessary? Task partitioning How to optimally partition tasks?
  • 10. ©ARM 201710 Software development challenges § Running multiple operating systems § Debugging bare-metal code and Linux applications at the same time § Controlling communication between Linux application and bare-metal application Linux application MCU application Common peripherals Shared memory ARM Cortex-A7 Inter-processor communication ARM Cortex-M4 Linux OS Complexity increases with heterogeneous devices
  • 11. ©ARM 201711 Software development challenges § Requires to write a Linux kernel module § Memory segmentation § Manage concurrency § Kernel mode to User mode communication § Bare-metal § Manage concurrency § Integration with RTOS § Handle interrupts and memory management Shared memory ARM Cortex-A7 ARM Cortex-M4 Linux OS Kernel module Linux application MCU application Manually manage communication between Cortex-A and Cortex-M Common peripherals IPC
  • 12. ©ARM 201712 Software development challenges § CMSIS adopting OpenAMP § CMSIS - Cortex Microcontroller Software Interface Standard § Now open source on Github § OS support for HMP systems § Remote Processor Messaging (RPMsg) for inter- processor communication § Management framework using remoteproc Standardization of software interfaces Shared memory ARM Cortex-A7 ARM Cortex-M4 Linux OS RTX5 RPMsg module Linux application MCU application Common peripherals RPMsg library
  • 13. ©ARM 201713 DS-MDK for heterogeneous systems Software development solution for Cortex-A and Cortex-MMDKToolsSoftwarePacks MDK-Core ARM C/C++ Compiler DS-MDK Device µVision IDE with Pack Management ARM Compiler 5 with Qualification Kit µVision Debugger with Streaming Trace Startup Device HAL CMSIS Driver CMSIS CMSIS-CORE CMSIS-DSP CMSIS-RTOS DS-5 IDE with Pack Management DS-5 Debugger with Streamline Middleware USB Host File System Graphics USB Device IPv6 NetworkIPv4 Network ARM Compiler 6 LLVMTechnology mbed TLS Encryption mbed Client IoT Connector Eclipse CDT based with CMSIS management provides access to documentation, CMSIS framework and software components. Software Packs for NXP's i.MX6 and i.MX7 are available. Support for other devices in the future.
  • 14. ©ARM 201714 Multiple simultaneous debug connections Cortex-A Cortex-M RTOS systemLinux kernel Linux application JTAG TCP/IP CoreSight Microcontroller application Debug ü The Cortex-M application via ULINKpro and analyse with RTOS awareness and peripheral views. ü The Cortex-A Linux kernel and Linux kernel modules via ULINKpro and list kernel threads and processes. ü The Cortex-A Linux application via gdbserver on the running Linux system using Remote System Explorer. Complete visibility to all software applications in the heterogeneous system
  • 15. ©ARM 201715 Efficient software development on HMP Combines best of both worlds Feature-rich Linux and MCU with deterministic RTOS on same chip Standardization of software interface Speed-up your development with CMSIS Multicore debug support Simplifies software development on heterogeneous devices
  • 16. The trademarks featured in this presentation are registered and/or unregistered trademarks of ARM Limited (or its subsidiaries) in the EU and/or elsewhere. All rights reserved. All other marks featured may be trademarks of their respective owners. Copyright © 2016 ARM Limited ©ARM 2016