good time, bad time and real time in system software - codecamp16oct2010

23
Good Time, Bad Time and Real Time in System Software Kernel Base Team (part of SSW team in IIC depart of Continental Iasi) October 2010

Upload: codecampiasi

Post on 30-Jun-2015

925 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Good time, bad time and real time in system software - CodeCamp16oct2010

Good Time, Bad Time and Real Time in System Software

Kernel Base Team (part of SSW team in IIC depart of Continental Iasi)

October 2010

Page 2: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Overview of SSW Projects

Overview of RNS Project

Challenges in Embedded Automotive

Challenges in SSW

Extra

Page 3: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

SSW Projects - Multimedia Overview

Page 4: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

PL2+

2 CPUs: Coldfire and ST10

OS: FlexOS for Coldfire, OSEK for ST10

Features:

CDDA/MP3 CD/Radio with TA/TP/RDS support

DAB and SDARS

CAN communication

Bluetooth support / playback over USB

external CD/DVD changer over MOST

PL7

CPU: Coldfire

OS: FlexOS

Features:

CDDA/MP3 CD/Radio with TA/TP/RDS support

CAN communication

external phone / NAV

SSW Projects – Radio Projects

Page 5: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

SSW Projects – Entry NavigationHWM

CPU: TX49 64-bit (MIPS-based)

OS: OS-9000

Features:

Radio

CDDA / MP3

Navigation

Remote Control

Page 6: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

SSW Projects – Entry Navigation

CCC

2 CPUs: SH4 and ST10

OS: VxWorks for SH4 and OSEK for ST10

Features:

CDDA / MP3

CD changer

phone support

TV tuner

SDARS

Rear View Camera + Parking Distance Control

Page 7: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

SSW Projects - MIB Entry

CPU: Renesas SH2

OS: HI7000 (uItron kernel)

Features:

AM/FM Radio

CDDA/MP3/ WMA

SD-Card (SD 2.0/ SD HC)

USB 2.0(high speed)

CAN communication (500/1000 kBit/s)

Integrated Bluetooth access point

Phonebook memory

Product Upgrade via different media (SD-card, USB, CD)

Monochrome/Color Display + TouchScreen

Page 8: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

SSW Projects - BMW L7

CPU: ARM9 (Jacinto)

OS: Microsoft Auto

Basic features:

Ergo Commander control

Double tuner FM/AM

CDDA/MP3/ WMA

SD-Card (SD 2.0/ SD HC)

High speed CAN

Ethernet (Flashing & Dealer Diagnostics)

External display (800x480 px), APIX interface, power supply in HU

Options:

Bluetooth connectivity

iSpeech (30k words)

MOST / CAN Gateway (INIC)

Video In

Browser, Online

Mediaplayer for USB

USB interface / 2nd USB

IBOC, SDARS, Double DAB+

Support of ExBox devices (ComBox, MMC, Top Hifi, RSE

Page 9: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Overview RNS ( TLA Platform )

Page 10: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

RNS SSW Architecture

Hardware

GraphicDriver

IIC IIS ATAPIOther

DriversCAN

Driver

GraphicStack

Native FoundationBluetooth Positioning

Speech GSM MOST HTTP Radio

OS

Java Virtual MachineAWT/Swing

Foundation and Software ServicesHMI

Radio/ Audio

Navigation

PhoneAddress

BookBrowser

Lif

ecyc

leF

ast

Bo

ot

Ho

use

keep

ing

Co

din

gD

iag

no

stic

sD

ow

nlo

ad

Page 11: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges in Embedded Automotive

An automotive infotainment system is sold in very large volumes (e.g. > 500,000 RNS 510)

High pressure on BoM (HW and SW)

Systems designed to operate close to the limit

High pressure on reliability

Systems must operate for > 10 years (>15,000 hours)

A design defect can be catastrophic

Huge costs for recalls (Ex: Toyota’s recent recalls- more than 2 billions $)

High pressure on performance

E.g. Audio available in less than 1 second

High pressure on quality

Technical standards to be fulfilled

QA standards

Page 12: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges in SSW

SSW delivers the foundation of the project

any delayed delivery of SSW affect the entire project

bugs in SSW are in most of the cases critical

SSW is responsible with HW bring-up

must adapt very fast to new CPUs and OS

handle a large variety of HW devices ( Flash, HDD, CD/DVD, SD, Touch Screen...)

SSW is must adapt external SW modules to available HW and OS

e.g. VW Diagnostics Framework

normal situation: external SW was never tested on our combination of CPU and OS

Page 13: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges Hardware Synchronization

Page 14: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges - Access Unaligned Data

VW Diagnostics Framework bug

In a header file:

In a C file: If POS_LAST_QUALIFIED_DTC is odd, than an cpu exception is triggered

Page 15: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges - Access Unaligned Data

VW Diagnostics Framework bug

In a header file:

In a C file: If POS_LAST_QUALIFIED_DTC is odd, than an cpu exception is triggered

Page 16: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges - Access Unaligned Data

Solution:

Conclusion:

On some Embedded architectures 16 bit data must be aligned on a 16 bit boundary and 32 bit data must be aligned on a 32 bit boundary. Access to unaligned data may be caused by a corrupt pointer by an invalid offset or stack overflow.It is also possible to get this error if you cast a byte pointer to 16 bit or 32 bit data pointer.

Page 17: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges - Accessing Invalid Pointers

What is the output of a call to MyFunction ?

a) crash at line 11 b) crash at line 13 c) the author is a moron

Page 18: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges - Accessing Invalid Pointers

What is the output of a call to MyFunction ?

a) crash at line 11 b) crash at line 13 c) the author is a moron

Page 19: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Challenges - Accessing Invalid Pointers

What is the output of a call to MyFunction ?

a) crash at line 11 b) crash at line 13 c) the author is a moron d) *pMyPointerToInt=5 (MicroItron HI7000 on SH2A)Of course, something like this will cause an error, but this will manifest later and in another module. Detection of this kind of bugs is a nightmare.

Page 20: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Embedded life

Page 21: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

SSW – Diversity of Education Background

SSW Team - 43 Members

AC - 23

ETC - 9

FEAA - 2

INFO - 19

Page 22: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team

Kernel Base Team – Author of this Presentation

Page 23: Good time, bad time and real time in system software - CodeCamp16oct2010

Kernel Base Team