Chip simulation used to run automotive software on PC

Similar documents
Chip simulation of automotive ECUs

Chapter 13. PIC Family Microcontroller

Hardware Virtualization for Pre-Silicon Software Development in Automotive Electronics

A Master-Slave DSP Board for Digital Control

Product Information CANape Option Simulink XCP Server

UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS

EHOOKS Prototyping is Rapid Again

C Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands

Am186ER/Am188ER AMD Continues 16-bit Innovation

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING Question Bank Subject Name: EC Microprocessor & Microcontroller Year/Sem : II/IV

Standardized software components will help in mastering the. software should be developed for FlexRay were presented at

Atmel Norway XMEGA Introduction

What is a System on a Chip?

DAC Digital To Analog Converter

7a. System-on-chip design and prototyping platforms

Embedded Software development Process and Tools:

Computer Automation Techniques. Arthur Carroll

Soft processors for microcontroller programming education

Chapter 2 Logic Gates and Introduction to Computer Architecture

Bluetooth Audio Data Transfer between Bluetooth chipset (PMB6752&PMB6625) and TriCore Host TC1920

Introduction the Serial Communications Huang Sections 9.2, 10.2 SCI Block User Guide SPI Block User Guide

Development. Igor Sheviakov Manfred Zimmer Peter Göttlicher Qingqing Xia. AGIPD Meeting April, 2014

High Performance or Cycle Accuracy?

An Introduction to MPLAB Integrated Development Environment

EMBEDDED SYSTEM BASICS AND APPLICATION

EBERSPÄCHER ELECTRONICS automotive bus systems. solutions for network analysis

UG103.8: Application Development Fundamentals: Tools

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Comparing RTOS to Infinite Loop Designs

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Computer Organization and Components

Advanced Electronic Platform Technologies Supporting Development of Complicated Vehicle Control Software

1. Computer System Structure and Components

Virtual Integration and Consistent Testing of Advanced Driver Assistance Functions

How to design and implement firmware for embedded systems

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

DS1104 R&D Controller Board

S7 for Windows S7-300/400

Introduction. - Please be sure to read and understand Precautions and Introductions in CX-Simulator Operation Manual and

Open Architecture Design for GPS Applications Yves Théroux, BAE Systems Canada

SMS Alarm Messenger. Setup Software Guide. SMSPro_Setup. Revision [Version 2.2]

A Practical Approach to Education of Embedded Systems Engineering

Chapter 02: Computer Organization. Lesson 04: Functional units and components in a computer organization Part 3 Bus Structures

Chapter 2 Features of Embedded System

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

Digital Signal Controller (DSC) Development Tools

Tutorial for MPLAB Starter Kit for PIC18F

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

3. Programming the STM32F4-Discovery

SenseLink TM. End-Point Controller. Addendum

Software engineering for real-time systems

Hardware in the Loop (HIL) Testing VU 2.0, , WS 2008/09

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

Keil Debugger Tutorial

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

USER GUIDE EDBG. Description

Special FEATURE. By Heinrich Munz

isppac-powr1220at8 I 2 C Hardware Verification Utility User s Guide

Going Linux on Massive Multicore

Customer Experience. Silicon. Support & Professional Eng. Services. Freescale Provided SW & Solutions

Introducción. Diseño de sistemas digitales.1

Embedded Component Based Programming with DAVE 3

Freescale Semiconductor, I

Embedded OS. Product Information

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Andreas Läng. Hilscher Gesellschaft für Systemautomation mbh Intelligent solutions for industrial communication.

dspic30f4012 Microcontroller

UNIT 4 Software Development Flow

DsPIC HOW-TO GUIDE Creating & Debugging a Project in MPLAB

Hello, and welcome to this presentation of the STM32L4 reset and clock controller.

TRACE32 Documents... ICD In-Circuit Debugger... Processor Architecture Manuals... TriCore... TriCore Monitor... 1

Wireless Microcontrollers for Environment Management, Asset Tracking and Consumer. October 2009

System Considerations

M68EVB908QL4 Development Board for Motorola MC68HC908QL4

EC313 - VHDL State Machine Example

E-Blocks Easy RFID Bundle

I2C PRESSURE MONITORING THROUGH USB PROTOCOL.

NI Platform for automotive measurement and test applications

EMBEDDED C USING CODEWARRIOR Getting Started Manual

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

AN1754 APPLICATION NOTE

Automatic ASAM MCD-3 supported test. PikeTec GmbH Dr. Jens Lüdemann

A Case Study of Application Development and Production Code Generation for a Telematics ECU with Full Unified Diagnostics Services

ERIKA Enterprise pre-built Virtual Machine

Kirchhoff Institute for Physics Heidelberg

Chapter 1 Lesson 3 Hardware Elements in the Embedded Systems Chapter-1L03: "Embedded Systems - ", Raj Kamal, Publs.: McGraw-Hill Education

eztcp Technical Document Modbus/TCP of eztcp Caution: Specifications of this document may be changed without prior notice for improvement.

PROGRAMMABLE LOGIC CONTROLLERS Unit code: A/601/1625 QCF level: 4 Credit value: 15 TUTORIAL OUTCOME 2 Part 1

AUTOMATIC NIGHT LAMP WITH MORNING ALARM USING MICROPROCESSOR

Vi DANTE TM Card User & Setup Guide

INTRODUCTION TO DIGITAL SYSTEMS. IMPLEMENTATION: MODULES (ICs) AND NETWORKS IMPLEMENTATION OF ALGORITHMS IN HARDWARE

Concept Engineering Adds JavaScript-based Web Capabilities to Nlview at DAC 2016

PDA Software Manual For the Windows CE and Mobile Operating Systems

LAN extensions for Instrumentation

8051 MICROCONTROLLER COURSE

12. Introduction to Virtual Machines

A highly integrated UAV avionics system 8 Fourth Street PO Box 1500 Hood River, OR (541) phone (541) fax CCT@gorge.

COMPUTER HARDWARE. Input- Output and Communication Memory Systems

Transcription:

Chip simulation used to run automotive software on PC Jakob Mauss, QTronic GmbH ERTS 2014 Embedded Real Time Software and Systems Toulouse, France February 5-7, 2014

Outline of the talk Chip simulation of automotive ECUs 1. Motivation 2. Chip Simulation 3. Applications 4. Limitations 5. Conclusion

Motivation typical development project: 100 person years time 2014 2114

Motivation typical development project: 100 person years time 2014 2114 time 2014 2017

Motivation typical development project: 100 person years time 2014 2114 need to parallelize development: HOW? move tasks to a virtual development environment duplicate for each developer: easy, cheap, no blocking protect IP time 2014 2017

Motivation How to simulate an ECU on PC? Three Options 1. retarget the C Code of the ECU: compile for Windows requires access to C code: typically owned by supplier, not OEM 2. reverse engineer selected ECU functions, e.g. with Simulink time consuming, error prone, possibly illegal 3. rehost the binary code (hex file) to Windows PC: aka chip simulation, to be presented here Toulouse

Example chip: TriCore TC1797 processing of about 850 instructions On-Chip Devices source: Infineon AG ADC Analog Digital Converter DMA Direct Memory Access EBU External Bus Unit FADC Fast Analog Digital Converter GPTA General Purpose Timer Array MultiCAN CAN Controller MSC Micro Second Channel PCP2 Peripheral Control Processor v2 Ports General Purpose I/O Ports and Peripheral I/O Lines SCU System Control Unit SSC Synchronous Serial Interface STM System Timer

Requirements: Chip sim. for Automotive Virtual System Prototypes (VSPs) - chip-specific, rich model: all on-chip devices modeled - no support for automotive interfaces - expensive: > 100.000 Euro Required by automotive SW developers and calibration engineers - support for automotive interfaces: A2L, MDF/DAT, XCP, DBC,... - to reuse existing files - to interface with existing tool chain - inexpensive: < 10.000 Euro - easy to setup: no (or very little) chip-specific knowledge available

A "virtual ECU" for PC Silver (a QTronic product) turns a hex file into a "virtual ECU" Either a TriCore emulation: 60 MIPS PowerPC emulation: 200 MIPS virtual ECU - Simulink SFunction - FMU for Co-Simulation - Silver module (DLL) ECU functions RTOS emulation 4GB virtual memory Principles: All instructions emulated: bit-accurate results Nearly no on-chip devices emulated: use inputs and outputs to by-pass basic SW Run only the functions of interest: fast! on-line calibration: measure and tune running simulation TCP/IP INCA or CANape A2L conversion XCP vehicle simulation or measurements Silver or Simulink or any FMU Simulator

Example 1: virtual ECU in Simulink all ECU characteristics are automatically turned into MATLAB workspace parameters default values taken from hex file passed to the Sfunction as parameter

Example 2: virtual TCU running in Silver

Setting up a Chip simulation 1. write spec.txt to specify what functions to run 2. step and debug the simulation in Silver debug mode 3. generate fast running SFunction, FMU or Silver module

Setting up a TriCore simulation 1. write spec.txt to specify what functions to run 2. step and debug the simulation in Silver debug mode 3. generate fast running SFunction, FMU or Silver module 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 # specification of virtual ECU hex_file(m12345.hex, PowerPC) a2l_file(m12345.a2l) map_file(m12345.map) # a TASKING or GNU map file chip_config(step_size, 10) # base clock tick in ms chip_config(user_stack, 0xd0001000) # location of user stack # functions to be simulated, in order of execution task_initial(abcde_ini) task_initial(abcde_inisyn) task_triggered(abcde_syn, trigger_abcde_syn) task_periodic(abcde_20ms, 20, 0) task_periodic(abcde_200ms, 200, 0) # interface of the generated Sfunction, FMU, or Silver module input(nmot) output(target_cur_mv1) output(target_cur_mv2) parameter(mv_curve)

Task execution: real RTOS vs. Silver real RTOS: at t=23ms, a 10 ms task is interrupted by an event triggered task At that time, the context of the interrupted task needs to be saved. Execution of a task takes time. 0 10 20 23 30 time [ms] Silver: Execution of a task takes zero time. tasks run at scheduled execution time and execute 'infinitely fast': task execution can therefore not be interrupted: No need for context switch. 0 10 20 23 30 time [ms]

Applications and Limitations Applications reported by Daimler and IAV - mathematical optimization of engine maps - on-line calibration with INCA and CANape - PC test of manipulated hex files Limitations - instruction accurate, but not cycle accurate: cannot predict exact execution times - based on TriCore and PowerPC specification: 'silicon bugs' are not simulated - on chip devices not modeled: cannot run basic software, such as device driver

Summary Virtual ECUs for Windows PC - no expensive reverse engineering - no C code required - based on available HEX, MAP and A2L file - excellent integration with automotive tool chain - high accuracy of model - application example: shift calibration tasks to PC - works currently for TriCore processors: TC1796, TC1797, TC1798,... Aurix: PowerPC MPC55x and Qorivva chips with e200 cores: Meet us at the ERTS EXPO: Stand #50 60 MIPS 200 MIPS