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.