34
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Qt is a registered trade mark of Digia Plc and/or its subsidiaries. All other trademarks menConed in this document are trademarks of their respecCve owners. Romuald NOZAHIC European Application Engineer Multicore platform towards automotive safety challenges mentor.com/automotive

European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

  • Upload
    vancong

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

Android  is  a  trademark  of  Google  Inc.  Use  of  this  trademark  is  subject  to  Google  Permissions.  Linux  is  the  registered  trademark  of  Linus  Torvalds  in  the  U.S.  and  other  countries.  

Qt  is  a  registered  trade  mark  of  Digia  Plc  and/or  its  subsidiaries.  All  other  trademarks  menConed  in  this  document  are  trademarks  of  their  respecCve  owners.  

Romuald NOZAHIC European Application Engineer

Multicore platform towards automotive safety challenges

mentor.com/automotive

Page 2: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

2

Agenda

Multicore Consolidation n  Market Trends n  Different way to take advantages n  Complexity overview

Safety n  3 solutions

Page 3: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

3

Multicore is not new concept

Page 4: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

4

Multicore is not new concept

Page 5: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

5

Consolidation on the SoC level

i.MX 6SoloX

Page 6: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

6

Consolidation on a system level

ECU ADAS IVI DRIVER INFO

Page 7: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

7

Multicore Configurations

Homogeneous uAMP

Linux (SMP)

Cortex A Cortex A

Page 8: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

8

Multicore Configurations

Homogeneous uAMP

RTOS

Cortex A Cortex A

Linux (SMP)

Cortex A Cortex A

Page 9: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

9

Multicore Configurations

Homogeneous uAMP

RTOS (master) RTOS

Cortex A Cortex A

Linux

Cortex A Cortex A

Linux (master)

RTOS (SMP)

Cortex A Cortex A

Linux (SMP)

Cortex A Cortex A

Page 10: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

10

Multicore Configurations

Homogeneous uAMP

RTOS (master) RTOS

Cortex A Cortex A

Linux

Cortex A Cortex A

Linux (master)

RTOS

Cortex A Cortex A

Linux (SMP)

Cortex A Cortex A

Page 11: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

11

Multicore Configurations

Linux (master)

RTOS

Cortex A Cortex A

Linux RTOS (master)

Cortex A Cortex A

Linux (master)

Bare Metal Env.

Cortex A Cortex A

Bare Metal Env.

RTOS (master)

Cortex A Cortex A

Heterogeneous uAMP Homogeneous uAMP

RTOS (master) RTOS

Cortex A Cortex A

Linux

Cortex A Cortex A

Linux (master)

RTOS

Cortex A Cortex A

Linux (SMP)

Cortex A Cortex A

Page 12: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

12

Multicore Configurations

Linux (master)

RTOS

Cortex A Cortex A

Linux RTOS (master)

Cortex A Cortex A

Linux (master)

Bare Metal Env.

Cortex A Cortex A

Bare Metal Env.

RTOS (master)

Cortex A Cortex A

Heterogeneous uAMP Homogeneous uAMP

RTOS (master) RTOS

Cortex A Cortex A

Linux

Cortex A Cortex A

Linux (master)

RTOS

Cortex A Cortex A

Linux (SMP)

Cortex A Cortex A

Page 13: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

13

Multicore Configurations

Linux (master)

RTOS

Cortex A Cortex A

Linux RTOS (master)

Cortex A Cortex A

Linux (master)

Bare Metal Env.

Cortex A Cortex A

Bare Metal Env.

RTOS (master)

Cortex A Cortex A

Homogeneous uAMP

RTOS (master) RTOS

Cortex A Cortex A

Linux

Cortex A Cortex A

Linux (master)

Hypervisor Hypervisor

Hypervisor Hypervisor

Hypervisor

Hypervisor

RTOS

Cortex A Cortex A

Linux (SMP)

Cortex A Cortex A

Heterogeneous sAMP

Page 14: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

14

Multicore Configurations

Linux (master)

RTOS

Cortex A Cortex A

Linux RTOS (master)

Cortex A Cortex A

Linux (master)

Bare Metal Env.

Cortex A Cortex A

Bare Metal Env.

RTOS (master)

Cortex A Cortex A

Homogeneous uAMP

RTOS (master) RTOS

Cortex A Cortex A

Linux

Cortex A Cortex A

Linux (master)

Hypervisor Hypervisor

Hypervisor Hypervisor

Hypervisor

Hypervisor

RTOS

Cortex A Cortex A

Linux (SMP)

Cortex A Cortex A

Heterogeneous sAMP

Page 15: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

15

Multicore Configurations: Heterogeneous

Linux or RTOS

(master)

Linux or RTOS or

BME

Cortex A Cortex A

Hypervisor

14 use cases

Cortex M Cortex M

RTOS or BME

RTOS or BME

* N use cases * M use cases

Soft Core

RTOS or BME

Page 16: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

16

Extreme complexity is introduced with general purpose development

n  System architecture

n  Configuration

n  Booting

n  Debugging

n  Separation

n  Device sharing

n  Inter-processor communication

n  Security

Complexity Skyrockets

Page 17: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

17

è   Configuring and deploying multiple operating systems and applications across heterogeneous processors

è   Booting multiple operating systems efficiently and in a coordinated manner across heterogeneous processor cores

è   Communicating between isolated sub-systems on a multicore processor or between heterogeneous processors

è   Visualizing interactions between heterogeneous operating systems on heterogeneous multicore for debugging and optimization

è   Proprietary functionality that allows interoperability of open source and proprietary environments with all the above capabilities

Comprehensive solution for heterogeneous multicore development that enables:

Multicore Framework

Page 18: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

18

è   Configuring and deploying multiple operating systems and applications across heterogeneous processors

è   Booting multiple operating systems efficiently and in a coordinated manner across heterogeneous processor cores

è   Communicating between isolated sub-systems on a multicore processor or between heterogeneous processors

è   Visualizing interactions between heterogeneous operating systems on heterogeneous multicore for debugging and optimization

è   Proprietary functionality that allows interoperability of open source and proprietary environments with all the above capabilities

Comprehensive solution for heterogeneous multicore development that enables:

Multicore Framework

Page 19: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

19

Security and Safety via Separation

Safety: Protecting the world from the device

Security: Protecting the device from the world

Mixed criticality: Protecting of security or safety critical parts of the device from other parts of the device

ISO26262-6 requires “freedom from interference”. If two systems can interfere with each other, they must be certified to the highest ASIL level of the two. Secure separation aims to eliminate such interference.

Page 20: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

20

Use Case 1: Physical Separation aka AMP

Page 21: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

21

Multicore Device running one Operating System —   Migrating to multicore device for the next generation or project —   Need to consolidate applications that require real time and determinism

with applications requiring Linux networking or graphics services —   Addressing performance constrains of existing design

A9

Graphics or Web

Linux

A9

Real Time App

What the system looks like today

Page 22: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

22

Multicore Device running multiple Operating Systems —   Single user interface for Configure, Edit, Debug, Optimize work —   Framework to configure, boot, execute and communicate across cores

and Operating Systems —   Take full advantage of the underlying ‘silicony goodness’ J

A9

Graphics or Web

Linux RTOS

A9 or M4

Real Time App

What the system will look like

Page 23: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

23

Core Lifecycle Management

Freescale i.MX 6SoloX

IPC

ARM®

Cortex®-A9 ARM®

Cortex®-M4

Mentor® Embedded Multicore Framework

remoteproc rpmsg virtio

Sourcery™ CodeBench IDE

Patient Sensor Data Acquisition Application

Remote Firmware

rpmsg virtio

Nucleus® RTOS Mentor® Embedded Linux®

User Applications

Qt® HMI Webserver

Patient Name: Jan Facility: Clinic

Floor 5 Room 304

How this could be accomplished

Page 24: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

24

Use Case 2: Separation using Software Enforcement

Page 25: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

25

Multiple boards running various Operating Systems and dedicated applications

—   Migrating to multicore device for the next generation or project

—   Need to consolidate applications that require real time with Linux —   Must share displays and other resources

SoC

Cluster App

OS

SoC

Infotainment App

OS

SoC

ECU App

Autosar

What the system looks like today

Page 26: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

26

Consolidation to a single Heterogeneous Multicore SoC running multiple Operating Systems and Applications

—   Virtualizing GPU to either control multiple displays per application or layer multiple applications on a single display (1:1, 1:N, N:1)

—   Framework to configure, boot, execute and communicate across domains in safe and reliable matter

A15

Cluster App

RTOS Linux

A15

Infotainment App

Autosar

M4

ECU App

Hypervisor

What the system will look like

Page 27: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

27

IVI Linux AUTOSAR & CAN stack on M4

Hypervisor (2xA15) + GPU sharing

BusMaster CAN Vehicle

Simulator

Cluster Display

CAN BUS

AXSB J6

Nucleus

Infotainment Display

USB 2CAN

FPD-Link Display 12” (1280x480 )

FPD-Link Touch Display 10” (1280x800 )

How this could be accomplished

Page 28: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

28

Use Case 3: Separation using Hardware enforcement

Page 29: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

29

A9

App 1

RTOS

What the system looks like today

App 2

A9

RTOS

App 2

A9

App 1

RTOS

One or more cores running applications of various security or robustness levels

—   Migrating to multicore or more powerful device for the next project

—   Need to consolidate applications that require secure and non secure apps

Page 30: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

30

A9

Secure App

RTOS

What the system will look like

nonSecure App

A9

Linux

nonSecure App

A9

Secure App

RTOS

One or more cores running applications of various security or robustness levels

—   Migrating to multicore or more powerful device for the next project

—   Need to consolidate applications that require secure and non secure apps

Page 31: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

31

Nucleus RTOS

A9 A9

nonSecure App

Nucleus RTOS

or Linux

Secure App

Hardware Separation

Nucleus RTOS

A9

nonSecure App

Nucleus RTOS or Linux

Secure App

Hardware Separation

Control

Data

How this could be accomplished

Using the Hardware Separation features of ARM architecture to isolate secure or robust applications from the rest of the system

—   Control only flows from Secure World to Normal World

—   Data could flow either way

Control

Data

Page 32: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

32

How this could be accomplished: Example

Complex  Graphics  Render  

Non-certified

Complex  Instrument  Logic  

Safe  Graphics  Render  

Certified

Safe  Instrument  Logic  

Safe  Graphics  Driver  

planes blended in hardware, also managed

by safe driver

draws content to separate graphics plane

managed by safe driver

Single Core

Dual Core

Page 33: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

33

Multi-OS Android ● AUTOSAR ● Bare metal ● Linux ● Nucleus RTOS

Secure Multicore

Framework Type 1 Hypervisor ● AMP ● SMP ● TrustZone Enabled

Safety Certs* ISO 26262 ● DO-178 ● IEC-61508 ● IEC-62304

Tooling Sourcery CodeBench ● Analyzer ● AUTOSAR Virtual Prototyping ● Requirements Tracing

* Note: Safety Certifications are an ongoing process.

Reference Platforms

SOP Ready ● Automotive Design Rules ● Flexible

FastBoot ● Services

Mentor Embedded Safe ¬ Secure ¬ Multi-OS ¬ Heterogeneous Multicore Platforms

Page 34: European Application Engineer - Automotive SPIN · Qt’is’aregistered’trade’mark’of’ Digia’Plc’and/or’its ... automotive safety challenges ... Using the Hardware

34

Summary n  Analyze your specific requirements to determine which

use case outlined in this session makes sense for your device

n  Mentor has technologies and expertise to help you address automotive consolidation use cases