Osek turbo


Published on

Published in: Automotive
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Osek turbo

  1. 1. T S PRADEEPKUMAR<br />SCS, VIT University<br />OSEK/VDXAReal Time Operating System<br />
  2. 2. Automotive Software Standards<br />Introduction to OSEK/VDX<br />OSEK/VDX Characteristics and Specification<br />OSEK Architecture<br />Conformance Classes (CC)<br />Tasks Concepts<br />Interrupts Processing<br />Events<br />Scheduling Policies<br />Other OS Services<br />Topics for discussion<br />
  3. 3. Automotive Software Standard<br /><ul><li>AUTOSAR
  4. 4. Automotive Open System Architecture
  5. 5. OSEK/VDX
  6. 6. Open systems and the corresponding interfaces for automotive electronics / Vehicle Distributed eXecutive
  7. 7. MISRA C
  8. 8. Motor Industries Software Reliability Association</li></li></ul><li>OSEK/VDX Characteristics<br /><ul><li>Scalability
  9. 9. Used for wide range of control units for 8bit to 32 bit controllers
  10. 10. Uses four conformance classes that specifies the main features
  11. 11. Portability of software
  12. 12. ISO/ANSI-C Standard interface between the application and the OS
  13. 13. Configurability
  14. 14. Standard configurable information is provided with the help of OIL (OSEK Implementation Language)
  15. 15. Statically allocated OS
  16. 16. To simplify, The OS, application tasks, resources and services are requested to define at the compile time</li></li></ul><li>OSEK/VDX Specification<br /><ul><li>Three Processing Levels
  17. 17. Interrupt Level
  18. 18. A logical level for OS Activities
  19. 19. Task Level </li></ul>The interrupt levels are assigned higher priorities than the task levels<br /><ul><li>In addition
  20. 20. OS Services provided for task management, event management, resource, counter, alarm and error treatment</li></li></ul><li>OSEK/VDX Specification<br />
  21. 21. OSEK/VDX Architecture<br />
  22. 22. OSEK COM<br /><ul><li>The OSEK standard comprises also an agreement on interfaces and protocols for in-vehicle communication called OSEK COM
  23. 23. An Interaction layer which provides communication services for the transfer of application messages.
  24. 24. A Network layer which provides services for the unacknowledged and segmented transfer of application messages
  25. 25. A Data link layer interface which provides services for the unacknowledged transfer of individual data packets over a network to the layers above. </li></li></ul><li>OSEK NW<br /><ul><li>Very often electronic control units (ECU) made by different manufacturers are networked within vehicles by serial data communication links.
  26. 26. For this reason the standard propose a Network Management system (OSEK NM) that provides standardized features which ensure the functionality of inter-networking by interfaces. </li></li></ul><li>OSEK/VDX Architecture<br /><ul><li>Traditional Fixed Priority Approach
  27. 27. Each task in the system may be
  28. 28. Basic Task (BT)
  29. 29. Extended Task (ET)
  30. 30. Each Task will be assigned a fixed Priority (assigned at compile time)</li></li></ul><li>OSEK/VDX Architecture<br /><ul><li>Conformance Classes
  31. 31. To provide support for different features and requirements of the application in terms of number of tasks, memory consumption, etc
  32. 32. BCC1
  33. 33. Only basic tasks limited to one activation request per task and one task per priority, while all tasks have different priorities.
  34. 34. BCC2
  35. 35. Like BCC1, plus more than one activation request per task and more than one task per priority.
  36. 36. ECC1
  37. 37. Like BCC1, plus extended tasks.
  38. 38. ECC2
  39. 39. Like ECC1, plus more than one task per priority and multiple requesting of task activation allowed for basic tasks. </li></li></ul><li>Conformance Classes<br />
  40. 40. Tasks Concepts<br /><ul><li>Basic Task
  41. 41. Basic tasks only release the processor, if
  42. 42. they terminate
  43. 43. the OSEK operating system switches to a higher-priority task, or interrupt occurs which cause the processor to switch to an interrupt service routine (ISR).
  44. 44. Extended Tasks
  45. 45. In contrast to basic tasks extended tasks are allowed to use the operating system call WaitEvent, which may result in a waiting state
  46. 46. The waiting state allows the processor to be released and to be reassigned to a lower-priority task without the need to terminate the running extended task
  47. 47. In view of the operating system, management of extended tasks is, in principle, more complex than management of basic tasks and requires more system resources</li></li></ul><li>Tasks Concepts<br />
  48. 48. Tasks Concepts<br /><ul><li>Extended Tasks have four task states:
  49. 49. Running
  50. 50. Only one task can be in this state at any point in time
  51. 51. Ready
  52. 52. The scheduler decides which ready task is executed next
  53. 53. Waiting
  54. 54. A task cannot continue execution because it has to wait for at least one event
  55. 55. Suspended
  56. 56. The task is passive and can be activated</li></li></ul><li>Interrupt Processing<br />In particular, the standard provides two kind of ISR handlers: <br /><ul><li>ISR Category 1
  57. 57. ISR does not use an OS Service.
  58. 58. No OS calls from the handler
  59. 59. The designer is free to write his own handler
  60. 60. These are the faster highest priority Interrupt
  61. 61. ISR Category 2
  62. 62. ISR is handled by the OS
  63. 63. So OS calls can be called from the handler</li></li></ul><li>Events<br /><ul><li>Event Mechanism is provided only for Extended Tasks
  64. 64. Each (ET) owns a set of events that can be triggered by other BT or ET or even ISR Category 2
  65. 65. The behavior of an ET is to wait for an Asynchronous Event calling the OS Service WaitEvent()
  66. 66. Events can be set only if the task is not in the suspended state</li></li></ul><li>Scheduling Policy<br /><ul><li>Mixed Preemptive Scheduling
  67. 67. Non Preemptive scheduling</li></li></ul><li>Scheduling Policy<br /><ul><li>Mixed Preemptive Scheduling
  68. 68. Since preemptiveness is a task attribute, preemptive and non-preemptive tasks can be mixed in the same application.
  69. 69. The running task will influence the policy really used. </li></li></ul><li>Other OS Services<br /><ul><li>Alarm Management
  70. 70. Error Management
  71. 71. Application Error
  72. 72. Fatal Error
  73. 73. Leads to System Shutdown
  74. 74. System Startup</li>