0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AUTOSAR CountdownAdvent Calendar 2023

Day 12

OSEK/VDX ISO and 2.23 OSEK(5)

Last updated at Posted at 2023-11-05

ISO発行前の文書とISO発行後の文書の構成の比較。

<この項は書きかけです。順次追記します。>
This article is not completed. I will add some words in order.

ISO 17356-3:2005 Road vehicles Open interface for embedded automotive applications Part 3: OSEK/VDX Operating System (OS)
https://www.iso.org/standard/40079.html

OSEK/VDX 2.2.3
https://www.irisa.fr/alf/downloads/puaut/TPNXT/images/os223.pdf

ISO OSEK/VDX
Introduction 1 Introduction
0.1 System philosophy 1.1 System philosophy
0.2 Purpose of this document 1.2 Purpose of this document
0.3 Structure of this document 1.3 Structure of this document
0.4 Summary 2 Summary
1 Scope
2 Normative references
3 Architecture of the operating system “OS” 3 Architecture of the OSEK operating system
3.1 Processing levels 3.1 Processing levels
3.2 Conformance classes 3.2 Conformance classes
3.3 Relationship between OS and OSEKtime OS 3.3 Relationship between OSEK OS and OSEKtime OS
4 Task management 4 Task management
4.1 Task concept 4.1 Task concept
4.1.1 General
4.1.2 Basic tasks
4.1.3 Extended tasks
4.2 Task state model 4.2 Task state model
4.2.1 General
4.2.2 Extended tasks 4.2.1 Extended tasks
4.2.3 Basic tasks 4.2.2 Basic tasks
4.2.4 Comparison of the task type 4.2.3 Comparison of the task types
4.3 Activating a task 4.3 Activating a task
4.4 Task switching mechanism 4.4 Task switching mechanism
4.5 Task priority 4.5 Task priority
4.6 Scheduling policy 4.6 Scheduling policy
4.6.1 Full preemptive scheduling 4.6.1 Full preemptive scheduling.
4.6.2 Non-preemptive scheduling 4.6.2 Non preemptive scheduling
4.6.3 Points of rescheduling
4.6.4 Groups of tasks 4.6.3 Groups of tasks
4.6.5 Mixed preemptive scheduling 4.6.4 Mixed preemptive scheduling
4.6.6 Selecting the scheduling policy 4.6.5 Selecting the scheduling policy
4.7 Termination of tasks 4.7 Termination of tasks
5 Application modes 5 Application modes
5.1 General
5.2 Scope of application modes 5.1 Scope of application modes
5.3 Start-up performance 5.2 Start up performance
5.4 Support for application modes 5.3 Support for application modes
6 Interrupt processing 6 Interrupt processing
6.1 General
7 Event mechanism 7 Event mechanism
8 Resource management 8 Resource management
8.1 General
8.2 Behaviour during access to occupied resources 8.1 Behaviour during access to occupied resources
8.3 Restrictions when using resources 8.2 Restrictions when using resources
8.4 Scheduler as a resource 8.3 Scheduler as a resource
8.5 General problems with synchronization mechanisms 8.4 General problems with synchronisation mechanisms
8.5.1 Explanation of priority inversion 8.4.1 Explanation of priority inversion
8.5.2 Deadlocks 8.4.2 Deadlocks
8.6 Priority Ceiling Protocol 8.5 OSEK Priority Ceiling Protocol
8.7 Priority Ceiling Protocol with extensions for interrupt levels 8.6 OSEK Priority Ceiling Protocol with extensions for interrupt levels
8.8 Internal resources 8.7 Internal Resources
9 Alarms 9 Alarms
9.1 General
9.2 Counters 9.1 Counters
9.3 Alarm management 9.2 Alarm management
9.4 Alarm-callback routines 9.3 Alarm-callback routines
10 Messages 10 Messages
11 Error handling, tracing and debugging 11 Error handling, tracing and debugging
11.1 Hook routines 11.1 Hook routines
11.2 Error handling 11.2 Error handling
11.3 System start-up 11.3 System start-up
11.4 System shutdown 11.4 System shutdown
11.5 Debugging 11.5 Debugging
12 Description of system services 12 Description of system services
12.1 Definition of system objects 12.1 Definition of system objects
12.2 Conventions 12.2 Conventions
12.2.1 Type of calls 12.2.1 Type of calls
12.2.2 Legitimacy of calls 12.2.2 Legitimacy of calls
12.2.3 Error characteristics 12.2.3 Error characteristics
13 Specification of OS services 13 Specification of operating system services
13.1 Basics
13.1.1 Structure of the description
13.1.2 Constructional elements
13.1.3 Service description
13.2 Common data types 13.1 Common data types
13.2.1 StatusType
13.2.2 All errors of API services
13.2.3 Internal errors of the OS
13.3 Task management 13.2 Task management
13.3.1 Data types 13.2.1 Data types
13.3.2 Constructional elements 13.2.2 Constructional elements
13.3.3 System services 13.2.3 System services
13.3.4 Constants 13.2.4 Constants
13.3.5 Naming convention 13.2.5 Naming convention
13.4 Interrupt handling 13.3 Interrupt handling
13.4.1 Data types 13.3.1 Data types
13.4.2 System services 13.3.2 System services
13.4.3 Naming convention 13.3.3 Naming convention
13.5 Resource management 13.4 Resource management
13.5.1 Data types 13.4.1 Data types
13.5.2 Constructional elements 13.4.2 Constructional elements
13.5.3 System services 13.4.3 System services
13.5.4 Constants 13.4.4 Constants
13.6 Event control 13.5 Event control
13.6.1 Data types 13.5.1 Data types
13.6.2 Constructional elements 13.5.2 Constructional elements
13.6.3 System services 13.5.3 System services
13.7 Alarms 13.6 Alarms
13.7.1 Data types 13.6.1 Data types
13.7.2 Constructional elements 13.6.2 Constructional elements
13.7.3 System services
13.7.4 Constants 13.6.4 Constants
13.7.5 Naming convention 13.6.5 Naming convention
13.8 OS execution control 13.7 Operating system execution control
13.8.2 System services 13.7.2 System services
13.8.3 Constants 13.7.3 Constants
13.9 Hook routines 13.8 Hook routines
13.9.1 Data types 13.8.1 Data Types
13.9.2 System services 13.8.2 System services
13.9.3 Constants 13.8.3 Constants
13.9.4 Macros
14 Implementation- and application-specific topics 14 Implementation and application specific topics
14.1 General
14.2 Implementation hints 14.1 Implementation hints.
14.2.1 Aspects of implementation 14.1.1 Aspects of implementation
14.2.2 Parameters of implementation 14.1.2 Parameters of implementation
14.3 Application design hints R14.2 Application design hints
14.3.1 General
14.3.2 Resource management 14.2.1 management
14.3.3 Placement of API calls 14.2.2 Placement of API calls
14.3.4 Interrupt service routines 14.2.3 Interrupt service routines
14.3.5 Priority and preemption 14.2.4 Priority and preemption
14.3.6 Examples of usage of internal resources 14.2.5 Examples of usage of internal Resources
14.3.7 Parameter to pass to ShutdownOS 14.2.6 Parameter to pass to ShutdownOS
14.3.8 Error handling 14.2.7 Error handling
14.3.9 Errors and warnings
14.4 Implementation-specific tools 14.3 Implementation specific tools
15 Changes from specification 1.0 to 2.2
15.1 Changesfromspecification1.0to2.0r1
15.1.1 Conceptual changes
15.1.2 Clarifications..
15.1.3 Changes of the documentation
15.2 Changes from specification2.0
15.2.1 Behaviour of ChainTask/TerminateTask with allocated resources is undefined.
15.2.3 Interrupt handling has been clarified and extended.
15.2.4 Error checking of GetResource/ReleaseResource have been modified
15.2.5 Added constant OSTICKSPERBASE.
15.2.6 ShutdownOS is allowed in ISRs and certain hook routines. .
15.2.7 Behaviour of ShutdownOS after ShutdownHook returns is implementation defined.
15.2.8 Added constant OSDEFAULTAPPMODE
15.2.9 ErrorHook is never called recursively.
15.2.10 LocalMessagesaddedtospecification.
15.2.11 Startup/shutdownwhenOSEKandOSEKtimecoexist(2.1r1)
15.3 Changesfromspecification2.1r1to2.2/2.2.1(ISOversion)
15.3.1 Add alarm-callbacks to alarms .
15.3.2 Interrupt handling: changes to functionality
15.3.3 Scheduling: add internal resources .
15.3.4 Error handling
15.3.5 Miscellaneous
16 Index..
16.1 List of figures
17 History .
Figure 1 — Software interfaces inside ECU Software interfaces inside ECU
Figure 2 — Processing levels of the operating system Processing levels of the OSEK operating system
Figure 3 — Restricted upward compatibility for conformance classes Restricted upward compatibility for conformance classes.
Figure 4 — Extended task state model Extended task state model
Figure 5 — Basic task state model Basic task state model
Figure 6 — Scheduler: order of events Scheduler: order of events
Figure 7 — Full preemptive scheduling Full preemptive scheduling .
Figure 8 — Non-preemptive scheduling Non preemptive scheduling.
Figure 9 — ISR categories of the operating system ISR categories of the OSEK operating system
Figure 10 — Synchronization of preemptable extended tasks Synchronisation of preemptable extended tasks
Figure 11 — Synchronization of non-preemptable extended tasks Synchronisation of non-preemptable extended tasks
Figure 12 — Priority inversion on occupying semaphores Priority inversion on occupying semaphores
Figure 13 — Deadlock situation using semaphores Deadlock situation using semaphores
Figure 14 — Resource assignment with priority ceiling between preemptable tasks Resource assignment with priority ceiling between preemptable tasks
Figure 15 — Resource assignment with priority ceiling between preemptable tasks and interrupt services routines Resource assignment with priority ceiling between preemptable tasks and interrupt services routines.
Figure 16 — Resource assignment with priority ceiling between interrupt services routines Resource assignment with priority ceiling between interrupt services routines
Figure 17 — Layered model of alarm management Layered model of alarm management
Figure 18 — Example of centralized error handling (extended status) Example of centralised error handling (extended status)
Figure 19 — System start-up System start-up .
Figure 20 — PreTaskHook and PostTaskHook PreTaskHook and PostTaskHook.
Figure 21 — Nested interrupts Nested interrupts
Figure 22 — Implementation-specific tools Implementation specific tools
Table 1 — The minimum requirements for Conformance Classes The minimum requirements for Conformance Classes
Table 2 — States and status transitions for extended tasks States and status transitions for extended tasks.
Table 3 — States and status transitions for basic tasks States and status transitions for basic tasks.
Table 4 — API service restriction API service restrictions

ISOのTableは、OSEK/VDXではFigure

参考資料(Reference)

aspberry Pi 3 Model B+ 向けにリアルタイムOSを実装してみた話
https://qiita.com/tenkoh2/items/baa8e0b6c09669793b4f

[メモ] TrampolineRTOSでLチカ (OSEK/VDX & AUTOSAR APIにあわせたRTOS)
https://qiita.com/mt08/items/65f2ac9bbdae09a34470

MacでLego Mindstorms NXT環境構築 in 2018
https://qiita.com/vivid344/items/2f23f846cd3b135c5a74

ETロボコン開発環境構築 for Mac
https://qiita.com/tac0x2a/items/b1d82050c660935765ef

自己参照(self reference)

OSEKはもう流行らないのでしょうか。AUTOSAR(64)OSEK(1)
https://qiita.com/kaizen_nagoya/items/b87687254b11f30cc2ee
OSEKを図から理解 OSEK(2)
https://qiita.com/kaizen_nagoya/items/f87a7ff5aeb63803a022
OSEK OS(AUTOSAR OS)をざっくり理解するには OSEK(3)
https://qiita.com/kaizen_nagoya/items/c68c0b86b97d4a90e6e2
calloutとcallback, OSEK/VDX OS and AUTOSAR OSEK(4)
https://qiita.com/kaizen_nagoya/items/b95b81354d07b9172a56
OSEK/VDX ISO and 2.23 OSEK(5)
https://qiita.com/kaizen_nagoya/items/4d6bcec01e0132f9c41c
OSEK/VDX OSEK(6)
https://qiita.com/kaizen_nagoya/items/a7720994f2178a15be81
ISO OSEK/VDX and ISO Linux OS 同梱ソースをC++またはRUSTで書く企画 OSEK(7)
https://qiita.com/kaizen_nagoya/items/27899e936c90b415d700
OSEK 記事で views 100,000を目指して OSEK(8)
https://qiita.com/kaizen_nagoya/items/ff45ee55566eeff5f62e
自動車用OSを網羅する OSEK(9)
https://qiita.com/kaizen_nagoya/items/a61144daf500a3f2b4f4
Smallest Set Profile and Automotive Profile, OSEK(10)
https://qiita.com/kaizen_nagoya/items/0c5484f6562cc259e7f0
Exclusive Area, OSEK(11) 
https://qiita.com/kaizen_nagoya/items/d87ff4e08378dbcf68a7
自動車のソフトウェア、例えばAUTOSAR の仕事を始めてする方に, OSEK(12)
https://qiita.com/kaizen_nagoya/items/1832634788c23498e054
名古屋で自動車関係のソフトウェア設計する際にあるといいかもしれない知識, OSEK(13)
https://qiita.com/kaizen_nagoya/items/9f01d55e4bd0bd931c96
single task os and data, OSEK(14)
https://qiita.com/kaizen_nagoya/items/6acbd5d2cfd3ed8bca60
AUTOSARといえば O で始まる用語は? OSEK(15)
https://qiita.com/kaizen_nagoya/items/06c969fe5c4b3e7319e0
Automotive Software Expert Examination Exercise, Examples or Extract. OSEK(16)
https://qiita.com/kaizen_nagoya/items/1762e0612ef01e036efb
自動運転資料集(1) OSEK(17)
https://qiita.com/kaizen_nagoya/items/42eb2129e281f25eaab8
TOPPERS of the YearとAUTOSAR, AUTOSAR(39), OSEK(18)
https://qiita.com/kaizen_nagoya/items/f241bb4a819733110b7a
Autosar 2.0を読む, AUTOSAR(25), OSEK(19)
https://qiita.com/kaizen_nagoya/items/b44a1047c2c517d522fe
IT関連技術でお世話になった方々, OSEK(20)
https://qiita.com/kaizen_nagoya/items/8a5bf487594cd106e8b8
AUTOSARの4つの入力, OSEK(21)
https://qiita.com/kaizen_nagoya/items/72cef6028b9697f7968e
AUTOSAR これだけ知っていればなんとかなる。OSEK(22)
https://qiita.com/kaizen_nagoya/items/7a63e706bfb8f331cfe4
AUTOSAR based on ISO, OSEK(23)
https://qiita.com/kaizen_nagoya/items/867a709cdf6f4dbdecc6
AUTOSARと国際規格。AUTOSAR(65), OSEK(24)
https://qiita.com/kaizen_nagoya/items/4ddba03efb942969b125
AUTOSAR入門, AUTOSAR(16), OSEK(25)
https://qiita.com/kaizen_nagoya/items/5e43b8ef0935c32ee11d
AUTOSAR 記事1000までの道, OSEK(26)
https://qiita.com/kaizen_nagoya/items/785473512f5f7f85a6bf
Autosarの課題, OSEK(27)
https://qiita.com/kaizen_nagoya/items/617d10b0e34143030600
AUTOSAR: The past 20 years and he next 10 years, OSEK(28)
https://qiita.com/kaizen_nagoya/items/2dab0707c01059c152c4
Autosar文書を読む(準備), OSEK(29) 
https://qiita.com/kaizen_nagoya/items/5f547173544703d267aa
AUTOSARが手に取るように分かるようになる。AUTOSAR(29), OSEK(30)
https://qiita.com/kaizen_nagoya/items/ae092ea6aef89cdc15df
posixとethernet, osekとTCP/IP, osek(31)
https://qiita.com/kaizen_nagoya/items/73b79a4a56f433bd53c0
斉藤直希「組み込み向けリアルタイムOSの基礎知識を整理する」を整理する, OSEK(32)
https://qiita.com/kaizen_nagoya/items/d305e83b37d0c57dceb3
TOPPERS活用アイデア・アプリケーション開発コンテスト受賞作品紹介 まとめ作成中, OSEK(33)
https://qiita.com/kaizen_nagoya/items/72b882d96b2841f25faf
はじめてのAUTOSAR(classic platform) <エンジニア夏休み企画>【読書感想文】, OSEK(34)
https://qiita.com/kaizen_nagoya/items/696ad320f76f284664d7
AUTOSARとSimulink: Adaptive Platform, Classic Platformとマルチコア・共通化, OSEK(35)
https://qiita.com/kaizen_nagoya/items/d613b0b14bfd91989a13
AUTOSAR Abstract Platformへの道(詳細編), OSEK(36)
https://qiita.com/kaizen_nagoya/items/cb217133884fa0a2c704
building block:AUTOSAR Abstruct Platform , OSEK(37),
https://qiita.com/kaizen_nagoya/items/bf7c17624f648fb9f392
系建築家(system architect)になるには, OSEK(38)
https://qiita.com/kaizen_nagoya/items/8c341e69233cb32f6275
自己紹介 OSEK(39)
https://qiita.com/kaizen_nagoya/items/90aa368f296613ec93b5
AUTOSAR 「完全に理解した」, OSEK(40)
https://qiita.com/kaizen_nagoya/items/51983798ad7902b33cb1

<この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。>
This article is an individual impression based on the individual's experience. It has nothing to do with the organization or business to which I currently belong.

文書履歴(document history)

ver. 0.01 初稿  20230225

最後までおよみいただきありがとうございました。

いいね 💚、フォローをお願いします。

Thank you very much for reading to the last sentence.

Please press the like icon 💚 and follow me for your happy life.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?