an introduction to osek l jrd l etas-stv/prm-e l 2010 © etas gmbh 2008. all rights reserved. the...

24
An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010 © ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners. 1 ID 025C: An Introduction to the OSEK Operating System Version 1.0

Upload: augusta-imogene-stevenson

Post on 29-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

1

ID 025C: An Introduction to the OSEK Operating System

Version 1.0

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

2

James Dickie

• Product Manager for Embedded Software• Real-time operating systems• AUTOSAR software components• Software logic analyzer

• Experience:• 10 years working in Automotive software engineering• Previous experience of real-time and embedded software engineering in the

Oil & Gas and Telecoms industries

• Education:

• Ph.D. in Digital Signal Processing, University of Strathclyde, Scotland

• B. Eng. in Electronic Engineering, University of Strathclyde, Scotland

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

3

Renesas Technology and Solution Portfolio

Microcontrollers& Microprocessors

#1 Market shareworldwide *

Analog andPower Devices#1 Market share

in low-voltageMOSFET**

Solutionsfor

Innovation

Solutionsfor

InnovationASIC, ASSP& Memory

Advanced and proven technologies

* MCU: 31% revenue basis from Gartner "Semiconductor Applications Worldwide Annual Market Share: Database" 25 March 2010

** Power MOSFET: 17.1% on unit basis from Marketing Eye 2009 (17.1% on unit basis).

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

4

4

Renesas Technology and Solution Portfolio

Microcontrollers& Microprocessors

#1 Market shareworldwide *

Analog andPower Devices#1 Market share

in low-voltageMOSFET**

ASIC, ASSP& Memory

Advanced and proven technologies

* MCU: 31% revenue basis from Gartner "Semiconductor Applications Worldwide Annual Market Share: Database" 25 March 2010

** Power MOSFET: 17.1% on unit basis from Marketing Eye 2009 (17.1% on unit basis).

Solutionsfor

Innovation

Solutionsfor

Innovation

55

Microcontroller and Microprocessor Line-up

Superscalar, MMU, Multimedia Up to 1200 DMIPS, 45, 65 & 90nm process Video and audio processing on Linux Server, Industrial & Automotive

Up to 500 DMIPS, 150 & 90nm process 600uA/MHz, 1.5 uA standby Medical, Automotive & Industrial

Legacy Cores Next-generation migration to RX

High Performance CPU, FPU, DSC

Embedded Security

Up to 10 DMIPS, 130nm process350 uA/MHz, 1uA standbyCapacitive touch

Up to 25 DMIPS, 150nm process190 uA/MHz, 0.3uA standbyApplication-specific integration

Up to 25 DMIPS, 180, 90nm process 1mA/MHz, 100uA standby Crypto engine, Hardware security

Up to 165 DMIPS, 90nm process 500uA/MHz, 2.5 uA standby Ethernet, CAN, USB, Motor Control, TFT Display

High Performance CPU, Low Power

Ultra Low PowerGeneral Purpose

66

Microcontroller and Microprocessor Line-up

Superscalar, MMU, Multimedia Up to 1200 DMIPS, 45, 65 & 90nm process Video and audio processing on Linux Server, Industrial & Automotive

Up to 500 DMIPS, 150 & 90nm process 600uA/MHz, 1.5 uA standby Medical, Automotive & Industrial

Legacy Cores Next-generation migration to RX

High Performance CPU, FPU, DSC

Embedded Security

Up to 10 DMIPS, 130nm process350 uA/MHz, 1uA standbyCapacitive touch

Up to 25 DMIPS, 150nm process190 uA/MHz, 0.3uA standbyApplication-specific integration

Up to 25 DMIPS, 180, 90nm process 1mA/MHz, 100uA standby Crypto engine, Hardware security

Up to 165 DMIPS, 90nm process 500uA/MHz, 2.5 uA standby Ethernet, CAN, USB, Motor Control, TFT Display

High Performance CPU, Low Power

Ultra Low PowerGeneral Purpose

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

7

Innovation

Take control of embedded projects with an OS and tools designed for the job

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

8

An Introduction to the OSEK Operating SystemAgenda

• What is an OSEK operating system?

• Why use OSEK OS

• Overview of OSEK OS objects and configuration

• How to build applications with OSEK OS

• OSEK OS: The future

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

9

What is an OSEK Operating System?

• An operating system allows you to partition and control applications running on a CPU, whilst responding efficiently to interrupts

• OSEK OS gives• A very efficient scheduler for tasks and interrupts• Creation of critical code sections• Time-based triggering of tasks• Support for debugging

• It does not provide• Drivers for graphics, file systems or networks• The ability to spawn new tasks• Memory protection• Support for multicore processors

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

10

Why use an OSEK Operating System?Motivation

• Embedded software development is often very product or project focussed…

Deadlines

Code Reuse

Maintenance

Shorter Development Cycles

New Features

Reduce Costs

New Hardwar

e

…resulting in a loss of control in software development and direction

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

11

Why use an OSEK Operating System?Benefits

• Specification of standard interfaces• Savings in costs and development time• Enhanced quality of control unit software• Independence from individual implementations

• Efficient design architecture: configurable and scaleable• Hardware and compiler abstraction• Static configuration gives low overheads• Better partitioning and maintenance of application software

• Mature standard• Used in millions of ECUs worldwide• Used in all classes of vehicle electronics

• Body controllers• Powertrain• Chassis• Multimedia

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

12

OSEK Origins

• OSEK/VDX resulted from the joining of French and German standardization efforts• OSEK = “Offene Systeme und deren Schnittstellen für die Elektronik im

Kraftfahrzeug”• Open Systems and the Corresponding Interfaces for Automotive Electronics

• VDX = Vehicle Distributed eXecutive

• OSEK is a joint project of the automotive industry• “Industry standard for an open-ended architecture for distributed control

units in vehicles”• The resulting specifications are open for anyone to use

• OSEK has been standardised by the ISO• ISO 17356

• Road vehicles -- Open interface for embedded automotive applications

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

13

The OSEK Specifications Overview

• OSEK is more than just the operating system!

• A number of complimentary specifications exist

• A Binding is used to identify sets of specifications that work together

• Certification is available

• See www.osek-vdx.org for full details

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

14

The OSEK Specifications Operating System

• There are three specifications around the OS

• OSEK OS• An event-driven operating system

• OSEK Implementation Language (OIL)• A text-based description of an OSEK configuration• Portable between development tools

• OSEK Run Time Interface (ORTI)• An interface that allows a suitable debugger to see the OS status

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

15

The OSEK Specifications Communications

• OSEK also provides specifications for communication

• OSEK COM• Allows communication over a CAN bus

• OSEK Network Management (NM)• Serves as the basis for distributed control functions

• OSEK Time• Time-triggered environment for highly-dependable systems

• OSEK Fault Tolerant COM (FTCOM)• Provides interfaces and protocols for the fault tolerant transfer of

data within networks

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

16

OSEK OS Objects Overview

• Tasks• Allow blocks of functionality to be called at runtime

• ISRs• Handlers for interrupts

• Events• Allow synchronisation of tasks

• Resources• Create critical sections of code, giving atomic access to data or

peripherals

• Counters & alarms• Allow time-based triggering of tasks

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

17

OSEK Configuration

• OSEK OS is statically configured• All objects are defined in

advance• Cannot be created at runtime• Stored as text in OIL file• Allows portability between tools

• Allows efficient implementation• Fast execution• Small memory footprint• Typically around 2% of total

application overhead

• Allows real-time analysis• With suitable implementation

and tools• Some constraints may apply

CPU rtk_cpu {OS RTKOS {

STATUS = EXTENDED; STARTUPHOOK = TRUE; SHUTDOWNHOOK = FALSE; ERRORHOOK = FALSE; PRETASKHOOK = FALSE; POSTTASKHOOK = FALSE; USEGETSERVICEID = FALSE; USEPARAMETERACCESS = FALSE;

};APPMODE OSDEFAULTAPPMODE {};TASK B {

PRIORITY = 1; SCHEDULE = FULL; ACTIVATION = 1; AUTOSTART = FALSE;

};TASK A {

PRIORITY = 2; SCHEDULE = FULL; ACTIVATION = 1; AUTOSTART = FALSE;

};TASK osek_idle_task {

SCHEDULE = FULL; ACTIVATION = 1; AUTOSTART = TRUE;

};ISR isr1 {

CATEGORY = 2;};

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

18

OSEK Conformance Classes

• Basic Conformance Class 1 - Aimed at deeply embedded applications• Tasks have unique priorities• Tasks cannot wait for events• Single activations only

• Basic Conformance Class 2• Tasks can share priorities• Tasks cannot wait for events• Queued activations

• Extended Conformance Class 1• Tasks have unique priorities• Tasks can wait for events• Single activations only

• Extended Conformance Class 2 - Aimed at higher-end applications• Tasks can share priorities• Tasks can wait for events• Single activations only

Overheads

Features

BCC1

BCC2

ECC1

ECC2

• OSEK OS supports 4 conformance classes• Allows scalability in application development and efficient OS implementations• Overhead per task increases with the number of features

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

19

How to build applications with OSEKPreemptive Application

Time (ms)

Category 1 ISRs to handle interrupts as fast as possible

outside the OS

Category 2 ISR handling sporadic

interrupts with task activation

Category 2 ISR from timer with

1ms tick

Idle task

10ms periodic

task

5ms periodic

task

High priority sporadic task

Counter registering

ticks

Alarms activating

periodic tasksISR 1ISR 2

ISR 3ISR 4

CounterAlarm 10msAlarm 5ms

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

20

How to build applications with OSEKCooperative Application

Time (ms)Idle task

ISR 1ISR 2ISR 3

Category 2 ISRs handling task

activations

• Tasks may create scheduling points to allow higher priority tasks to run cooperatively• Can be useful for porting legacy code to an OS environment

Task creates scheduling point to avoid hogging the

CPU

High priority tasks do not run

immediately when activated

Low priority task

Mid-priority task

High priority task

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

21

How to build applications with OSEKUsing Resources to create critical sections

• OSEK OS implements the Priority Ceiling Protocol to avoid task deadlock

Time (ms)

Low priority task locks resource to

create critical section

Priority boost during critical

section – avoids deadlock!

Higher priority task sharing the

resource cannot preempt

Higher priority task not sharing the resource can

preempt

Critical section provides atomic access to data or

peripherals

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

22

How to build applications with OSEKDebugging support

• OSEK OS has two build levels• Standard build: minimal error checking in order to be as small

and fast as possible in production units• Extended build: full error checking and debug hooks

• It is possible to retrieve an error code, the API that caused it and the parameters passed in the call

• ORTI allows a suitable debugger to see the OS status at runtime• Which task is running• What states the other tasks are in• Trace the execution profile of the system

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

23

OSEK – The Future

• OSEK has been a stable standard for 10 years• However, the world moves on

• More features, new hardware, better concepts…

• AUTOSAR – www.autosar.org

• Builds on OSEK OS to offer:• The same set of features and APIs• Support for memory and timing protection• Support for multicore CPUs• XML configuration

• Key concepts of scalability and efficiency are maintained

An Introduction to OSEK l JRD l ETAS-STV/PRM-E l 2010© ETAS GmbH 2008. All rights reserved. The names and designations used in this document are trademarks or brands belonging to their respective owners.

24

Summary

• OSEK defines a suite of open standards

• OSEK OS is the operating system component of OSEK

• Efficient implementation via static configuration and conformance classes

• Deadlock free operation via the Priority Ceiling Protocol

• Build a variety of applications using the OS objects and controls

• Extensive debugging support

• Roadmap to the future via AUTOSAR