Download presentation
Presentation is loading. Please wait.
1
OIL - OSEK Implementation Language
6 OIL - OSEK Implementation Language
2
OSEK Implementation Language
A standard way to describe an OSEK system For static configuration of the OS Tailored to the needs of your application A textual description with a readable syntax OIL Specify OS Requirements Configure OS
3
OIL - A High-Level View Describes a set of system objects contained in a CPU
4
Why use OIL? An OSEK system is configured statically - OIL is the means of describing the configuration Only needed OS software is included OS overheads can be minimised A ‘high-level design’ of the application All objects and their relationships must be defined Provides ‘configuration management’ A system may be reconstructed from the OIL file Automated tools can verify the configuration
5
The OIL File Describes an entire OSEK application in a CPU
Part 1: Implementation Definition Implementation-specific features of an OSEK-OS Example: Basic & extended tasks used, single activation only, one task per priority Part 2: Application Definition Structure and properties of application 17 tasks, 3 counters, 4 alarms, 6 resources, 5 events. Alarm3 activates Task4.
6
Example : An OS Implementation Definition
OIL_VERSION = “2.0”; IMPLEMENTATION MyOwnImplementation { OS { INT [1..255] NON_SUSPENDED_TASKS; }; TASK { INT [1..256] PRIORITY; //Value range INT [1..24] ACTIVATION; //Value range INT STACKSIZE; } ISR { INT ISRSTACKSIZE; ALARM { BOOLEAN START; BOOLEAN CYCLIC; EVENT { INT WITH_AUTO [1..256] MASK; //Value range
7
Application Definition
Structure and properties of a specific application Operating System Tasks Counters Alarms Resources Events ISRs … CC Conformance Class STATUS Error Checking SCHEDULE Preemption Hook Routines // OIL-Definition-File OIL_VERSION = "2.0"; CPU Sample_CPU1 { OS StdOS { CC = ECC2; STATUS = EXTENDED; SCHEDULE = MIXED; StartupHook = TRUE; ErrorHook = TRUE; ShutdownHook = TRUE; PreTaskHook = TRUE; PostTaskHook = TRUE; SYSTEMSTACKSIZE = 512; };
8
Tasks For each task, by task name TYPE Basic or Extended PRIORITY
SCHEDULE Preemption ? ACTIVATION Maximum Activations AUTOSTART … At System Startup? RESOURCE List those used by Task EVENT List those of Task ... TASK extendedTaskOne { TYPE = EXTENDED; SCHEDULE = FULL; PRIORITY = 1; ACTIVATION = 1; AUTOSTART = TRUE; APPMODE = {Mode0}; STACKSIZE = 32; EVENT = {evt1}; };
9
Events and Counters For each Event For each Counter
MASK Bit Pattern or AUTO For each Counter MAXALLOWEDVALUE TICKSPERBASE (Interpretation is up to user) MINCYCLE Minimum ticks for cyclic alarm EVENT event1 { MASK = 0x04; }; EVENT event2 { MASK = AUTO; } COUNTER SYSTEM_COUNTER { MAXALLOWEDVALUE = 65535; TICKSPERBASE = ; MINCYCLE = 1; };
10
Alarms For each Alarm COUNTER ACTION Activate Task or Set Event
TASK Task to be Notified EVENT (If Action is to Set Event) EVENT evt1 { MASK = AUTO; }; COUNTER SYSTEM_COUNTER { MAXALLOWEDVALUE = 65535; TICKSPERBASE = ; MINCYCLE = 1; ALARM relalarm1 { COUNTER = SYSTEM_COUNTER; ACTION = SETEVENT; TASK = extendedTaskOne; EVENT = evt1;
11
Interrupt Service Routines
For each Interrupt Service Routine CATEGORY 1, 2, or 3 No standard attributes for MESSAGE Objects COM Objects NM Objects OSEKWorks has defined extenstions for these! ISR TimerInterrupt { CATEGORY = 3; };
12
OSEKWorks Extensions Each implementation of OSEK can define extensions
OSEKWorks defines the following to optimise the kernel: SCHEDULE_CALL = {TRUE|FALSE} FPU = {TRUE|FALSE} OSEKWorks Only
13
Automated OIL Tools OSEKWorks provides some tools for
Graphical configuration of OIL files Verification of OIL Automatic initialisation of OS data structures from description of application services in OIL Stack size Priority ceiling of each resource ID’s for all objects AUTO attributes (e.g. conformance class) OSEKWorks Only
14
OSEK Development Process (recap)
Design Automation Tools (e.g. MATRIXx, BetterState) OR Hand Code C Code Compile Link OIL Files Optimized OSEK Kernel Application Software OIL Reader OSEKWorks OIL Configurator Network Management Kernel OSEK Run-time Components (e.g. OSEKWorks) Communication OSEKWorks Only
15
OSEKWorks OIL Configurator
Graphical tool to configure and optimise OSEKWorks for an application. Key Features Intuitive GUI for displaying & editing system OIL files Integrated framework for creating a system level OIL file (from multiple files) System-level analysis Tabular, Graphical & File views Software design tool-aware OSEKWorks Only
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.