wiki:spec_OS
OS


概要

  • AUTOSARプラットフォームにおけるリアルタイムOS
    • 主にタスクスケジューリング、割込み管理などを行う
    • MCAL層が無いため、マイコンに依存した実装が伴う
  • OSEK/VDX仕様OSの上位互換とされ、OSEK仕様書に記載されている内容については、AUTOSAR仕様書には記載されていない
    • OSEK仕様書もAUTOSAR同様、Webで公開されている
    • OSEK仕様とAUTOSAR仕様で若干の矛盾等も存在する
    • コンフィギュレーション方法は、AUTOSAR準拠のXML方式に統合される
  • OSの機能セット毎に、4つのスケーラビリティクラスが規定されている
    • スケーラビリティクラス1(SC1)
      • 基本セット
    • スケーラビリティクラス2(SC2)
      • 基本セット + タイミング保護
    • スケーラビリティクラス3(SC3)
      • 基本セット + メモリ保護
    • スケーラビリティクラス4(SC4)
      • 基本セット + タイミング保護 + メモリ保護
  • すべてのSCをマルチコアに拡張可能である
  • 用語一覧
    • C1ISR:カテゴリ1ISR
    • C2ISR:カテゴリ2ISR
    • OSAP:OSアプリケーション
  • API一覧
OSEK仕様API TOPPERS/ATK2 AUTOSAR仕様API ID
[Dec]
ID
[Hex]
OSEK仕様ではIDは未規定 ID
[Dec]
ID
[Hex]
ActivateTask 224 0xE0 GetApplicationID 0 0x00
TerminateTask 225 0xE1 GetISRID 1 0x01
ChainTask 226 0xE2 CallTrustedFunction 2 0x02
Schedule 227 0xE3 CheckISRMemoryAccess 3 0x03
GetTaskID 228 0xE4 CheckTaskMemoryAccess 4 0x04
GetTaskState 229 0xE5 CheckObjectAccess 5 0x05
EnableAllInterrupts 230 0xE6 CheckObjectOwnership 6 0x06
DisableAllInterrupts 231 0xE7 StartScheduleTableRel 7 0x07
ResumeAllInterrupts 232 0xE8 StartScheduleTableAbs 8 0x08
SuspendAllInterrupts 233 0xE9 StopScheduleTable 9 0x09
ResumeOSInterrupts 234 0xEA NextScheduleTable 10 0x0A
SuspendOSInterrupts 235 0xEB StartScheduleTableSynchron 11 0x0B
GetResource 236 0xEC SyncScheduleTable 12 0x0C
ReleaseResource 237 0xED SetScheduletableAsync 13 0x0D
SetEvent 238 0xEE GetScheduleTableStatus 14 0x0E
ClearEvent 239 0xEF IncrementCounter 15 0x0F
GetEvent 240 0xF0 GetCounterValue 16 0x10
WaitEvent 241 0xF1 GetElapsedValue 17 0x11
GetAlarmBase 242 0xF2 TerminateApplication 18 0x12
GetAlarm 243 0xF3 AllowAccess 19 0x13
SetRelAlarm 244 0xF4 GetApplicationState 20 0x14
SetAbsAlarm 245 0xF5 GetNumberOfActivatedCores 21 0x15
CancelAlarm 246 0xF6 GetCoreID 22 0x16
GetActiveApplicationMode 247 0xF7 StartCore 23 0x17
StartOS 248 0xF8 StartNonAutosarCore 24 0x18
ShutdownOS 249 0xF9 GetSpinlock 25 0x19
ReleaseSpinlock 26 0x1A
TryToGetSpinlock 27 0x1B
ShutdownAllCores 28 0x1C
IocSend 30 0x1E
IocWrite 31 0x1F
IocSendGroup 32 0x20
IocWriteGroup 33 0x21
IocReceive 34 0x22
IocRead 35 0x23
IocReceiveGroup 36 0x24
IocReadGroup 37 0x25
IocEmptyQueue 38 0x26
  • エラーコード一覧
    • "--"は実装依存と規定されている
エラーコード Dec Hex
E_OS_ACCESS 1 0x01
E_OS_CALLEVEL 2 0x02
E_OS_ID 3 0x03
E_OS_LIMIT 4 0x04
E_OS_NOFUNC 5 0x05
E_OS_RESOURCE 6 0x06
E_OS_STATE 7 0x07
E_OS_VALUE 8 0x08
E_OS_SERVICEID -- --
E_OS_ILLEGAL_ADDRESS -- --
E_OS_MISSINGEND -- --
E_OS_DISABLEDINT -- --
E_OS_STACKFAULT -- --
E_OS_PROTECTION_MEMORY -- --
E_OS_PROTECTION_TIME -- --
E_OS_PROTECTION_ARRIVAL -- --
E_OS_PROTECTION_LOCKED -- --
E_OS_PROTECTION_EXCEPTION -- --
E_OS_CORE -- --
E_OS_SPINLOCK -- --
E_OS_INTERFERENCE_DEADLOCK -- --
E_OS_NESTING_DEADLOCK -- --
E_OS_PARAM_POINTER -- --

API仕様(OSEK)

ActivateTask

StatusType ActivateTask(TaskType TaskID)
  • TaskIDで指定したタスクを起動する
  • 多重に起動要求を行った場合、要求した順序で起動される
    • 拡張タスクが、多重起動要求できないのは、待ち状態に入ってしまうと次の起動要求を要求した順序で処理できないからと考えられる
    • TOPPERS/ATK2では、必要性が低いことから、要求した順序を保持しない実装としている
      • タスクの実行順序の優先順位は、本来タスク優先度で指定するものであり、同一優先度タスクが実行される順序が処理に依存するべきではない、という考え方である
  • 到着時間監視において、ActivateTaskを発行した側と、発行された側のどちらのタイミング保護違反となるかは規定されていない
    • マルチコアでは、どちらのコアでプロテクションフックを起動するか等の問題がある

TerminateTask

StatusType TerminateTask(void)
  • 呼び出したタスクを終了する
  • 多重起動要求されているタスクが、TerminateTaskを実行した場合、再度実行可能状態となるが、TerminateTaskを呼ばずに終了(returnを呼ぶ等)した場合に、再度実行可能状態となるかは規定されていない
    • TOPPERS/ATK2では、以下のような実装としている
      • タスクが不正終了(returnを呼ぶ)した場合:多重起動は有効
      • タスクが強制終了(保護違反発生)した場合:多重起動は有効
      • 所属するOSAPが強制終了した場合:多重起動はリセット

ChainTask

StatusType ChainTask(TaskType TaskID)
  • 呼び出したタスクの終了と、TaskIDで指定したタスクの起動を行う(TerminateTask+ActivateTask)

Schedule

StatusType Schedule(void)
  • 呼び出した時点での、すべての実行可能状態のタスクの優先度に従って、再スケジューリングを行う
    • つまり、呼び出し元タスクが、ノンプリエンプティブタスクでなければ、呼び出す意味がない

GetTaskID

StatusType GetTaskID(TaskRefType TaskID)
  • 実行状態のタスクIDを取得する
    • 複数タスクから呼び出される共用関数や、C2ISR、各フックルーチンから使用される
  • 本APIは、エラーフックでのデバッグにおける使用が考えられるが、割込み禁止時のAPI呼出し違反[OS093]により起動したエラーフックでは、割込み禁止状態のため、GetTaskIDが使用できないという不整合がある
    • TOPPERS/ATK2では、実害がないため、割込み禁止状態であっても、GetTaskIDを呼び出せるように実装している

GetTaskState

StatusType GetTaskState(TaskType TaskID, TaskStateRefType State)
  • TaskIDで指定したタスクの状態を取得する
  • 本APIは、エラーフックでのデバッグにおける使用が考えられるが、割込み禁止時のAPI呼出し違反[OS093]により起動したエラーフックでは、割込み禁止状態のため、GetTaskStateが使用できないという不整合がある
    • TOPPERS/ATK2では、実害がないため、割込み禁止状態であっても、GetTaskStateを呼び出せるように実装している

EnableAllInterrupts

void EnableAllInterrupts(void)
  • C1ISR、C2ISRに対する割込みを許可状態にする
  • EI命令のような高速な処理を想定している

DisableAllInterrupts

void DisableAllInterrupts(void)
  • C1ISR、C2ISRに対する割込みを禁止状態にする
  • ネスト発行は不可で、DI命令のような高速な処理を想定している

ResumeAllInterrupts

void ResumeAllInterrupts(void)
  • C1ISR、C2ISRに対する割込みを許可状態にする
  • SuspendAllInterruptsが呼ばれた回数だけ、発行しないと許可状態にならない

SuspendAllInterrupts

void SuspendAllInterrupts(void)
  • C1ISR、C2ISRに対する割込みを禁止状態にする
  • ネストして発行できるが、ネスト上限回数に関する規定がない
    • TOPPERS/ATK2では、ネスト回数の上限値を255としている

ResumeOSInterrupts

void ResumeOSInterrupts(void)
  • C2ISRに対する割込みを許可状態にする
  • SuspendOSInterruptsが呼ばれた回数だけ、発行しないと許可状態にならない

SuspendOSInterrupts

void SuspendOSInterrupts(void)
  • C2ISRに対する割込みを禁止状態にする
  • ネストして発行できるが、ネスト上限回数に関する規定がない
    • TOPPERS/ATK2では、ネスト回数の上限値を255としている

GetResource

StatusType GetResource(ResourceType ResID)
  • ResIDで指定したリソースを獲得する

ReleaseResource

StatusType ReleaseResource(ResourceType ResID)
  • ResIDで指定したリソースを開放する
  • 上限優先度が初期優先度より低いリソースを開放しようとするとE_OS_ACCESSが返ると規定されているが、そもそもそのようなリソースを獲得できないので、E_OS_ACCESSが返ることはありえない

SetEvent

StatusType SetEvent(TaskType TaskID, EventMaskType Mask)
  • TaskIDで指定したタスクに対するイベントMaskをセットする

ClearEvent

StatusType ClearEvent(EventMaskType Mask)
  • 呼び出したタスクのすべてのイベントをクリアする

GetEvent

StatusType GetEvent(TaskType TaskID, EventMaskRefType Event)
  • TaskIDで指定したタスクにセットされたイベントを取得する
  • マルチコア拡張仕様において、SetEventはコアを跨げるように拡張されているが、GetEventが拡張されていない
    • 拡張できない理由が無いため、誤記と思われる
    • TOPPERS/ATK2では、GetEventもコアを跨いで呼び出すことができるように実装している

WaitEvent

StatusType WaitEvent(EventMaskType Mask)
  • Maskで指定したイベントがセットされるのを待つ
  • 既にイベントがセットされていた場合は、タスクは実行状態を継続する

GetAlarmBase

StatusType GetAlarmBase(AlarmType AlarmID, AlarmBaseRefType Info)
  • AlarmIDで指定したアラームの情報を取得する
  • 取得する情報はコンフィギュレーション時に静的に設定したパラメータのみである

GetAlarm

StatusType GetAlarm(AlarmType AlarmID, TickRefType Tick)
  • AlarmIDで指定したアラームが、満了するまでのティックを取得する

SetRelAlarm

StatusType SetRelAlarm(AlarmType AlarmID, TickType increment, TickType cycle)
  • AlarmIDで指定したアラームを、相対時間指定でセットする
  • AUTOSAR仕様で、incrementで指定された値が0であった場合にE_OS_VALUEを返す標準エラーで返すと規定されている[OS304]が、OSEK仕様では、E_OS_VALUEは拡張エラーと規定されているという矛盾がある
    • TOPPERS/ATK2では、どちらのE_OS_VALUEも、拡張エラーとしている

SetAbsAlarm

StatusType SetAbsAlarm(AlarmType AlarmID, TickType start, TickType cycle)
  • AlarmIDで指定したアラームを、絶対時間指定でセットする

CancelAlarm

StatusType CancelAlarm(AlarmType AlarmID)
  • AlarmIDで指定したセット済みのアラームを、キャンセルする

GetActiveApplicationMode

AppModeType GetActiveApplicationMode(void)
  • OS起動時、StartOSで引数に指定されたアプリケーションモードを取得する

StartOS

void StartOS(AppModeType Mode)

ShutdownOS

void ShutdownOS(StatusType Error)
  • OSをシャットダウンする

API仕様(AUTOSAR)

GetApplicationID

ApplicationType GetApplicationID(void)
  • 実行状態のOSAP IDを取得する
  • この機能に関する議論 → #1

GetISRID

ISRType GetISRID(void)
  • 実行状態のISR IDを取得する
  • OSEK仕様のGetTaskIDは、返り値がStatusTypeであるのに対し、対称的なAPIであるGetISRIDの戻り値はISRTypeとなっている
    • 結果として、エラーの発生有無は分からず、返り値がStatusTypeでないのでエラーフックも起動しない[OS093]
    • TOPPERS/ATK2では、返り値のデータ型に関わらず、異常発生時はエラーフックを起動するように実装している

CallTrustedFunction

StatusType CallTrustedFunction(TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams)
  • FunctionIndexで指定した信頼関数を実行する

CheckISRMemoryAccess

AccessType CheckISRMemoryAccess(ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size)
  • ISRIDで指定したC2ISRの、AddressとSizeで指定したメモリ領域に対するアクセス可否を取得する
  • 引数で指定したメモリ領域が複数のメモリ保護属性の領域を跨いでいた場合の振る舞いが規定されていない
    • TOPPERS/ATK2では、アクセス不可能を返すように実装している

CheckTaskMemoryAccess

AccessType CheckTaskMemoryAccess(TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size)
  • TaskIDで指定したタスクの、AddressとSizeで指定したメモリ領域に対するアクセス可否を取得する
  • 引数で指定したメモリ領域が複数のメモリ保護属性の領域を跨いでいた場合の振る舞いが規定されていない
    • TOPPERS/ATK2では、アクセス不可能を返すように実装している

CheckObjectAccess

ObjectAccessType CheckObjectAccess(ApplicationType ApplID, ObjectTypeType ObjectType, void ...)
  • 可変長引数"..."で指定したオブジェクトの、ApplIDで指定されたOSAPに対するアクセス可否を取得する

CheckObjectOwnership

ApplicationType CheckObjectOwnership(ObjectTypeType ObjectType, void ...)
  • 可変長引数"..."で指定したオブジェクトが所属するOSAP IDを取得する

StartScheduleTableRel

StatusType StartScheduleTableRel(ScheduleTableType ScheduleTableID, TickType Offset)
  • ScheduleTableIDで指定したスケジュールテーブルを、相対時間指定でセットする

StartScheduleTableAbs

StatusType StartScheduleTableAbs(ScheduleTableType ScheduleTableID, TickType Start)
  • ScheduleTableIDで指定したスケジュールテーブルを、絶対時間指定でセットする

StopScheduleTable

StatusType StopScheduleTable(ScheduleTableType ScheduleTableID)
  • ScheduleTableIDで指定したセット済みのスケジュールテーブルを、停止する

NextScheduleTable

StatusType NextScheduleTable(ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To)
  • ScheduleTableID_Fromで指定したスケジュールテーブルの1周期が終了後、ScheduleTableID_Toで指定したスケジュールテーブルを開始する
  • ScheduleTableID_Fromに指定されたスケジュールテーブルが周期動作だった場合に、ScheduleTableID_Toのスケジュールテーブルに切り替わった後も周期動作を続けるかどうかが規定されていない
    • TOPPERS/ATK2では、ScheduleTableID_Fromに指定されたスケジュールテーブルが周期動作の場合も、切り替え時に停止するように実装している
  • マルチコア拡張仕様において、StartScheduleTableRelやStartScheduleTableAbsはコアを跨げるように拡張されているが、NextScheduleTableが拡張されていない
    • 拡張できない理由が無いため、誤記と思われる
    • TOPPERS/ATK2では、NextScheduleTableもコアを跨いで呼び出すことができるように実装している

StartScheduleTableSynchron

StatusType StartScheduleTableSynchron(ScheduleTableType ScheduleTableID)
  • ScheduleTableIDで指定した明示同期スケジュールテーブルの同期を開始する

SyncScheduleTable

StatusType SyncScheduleTable(ScheduleTableType ScheduleTableID, TickType Value)
  • ScheduleTableIDで指定した明示同期スケジュールテーブルを、Valueで指定したティックで同期する

SetScheduletableAsync

StatusType SetScheduletableAsync(ScheduleTableType ScheduleTableID)
  • ScheduleTableIDで指定した明示同期スケジュールテーブルの同期を終了する

GetScheduleTableStatus

StatusType GetScheduleTableStatus(ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus)
  • ScheduleTableIDで指定したスケジュールテーブルの状態を取得する

IncrementCounter

StatusType IncrementCounter(CounterType CounterID)
  • CounterIDで指定したソフトウェアカウンタをインクリメントする
  • 同時に複数のアラーム・スケジュールテーブルが満了する場合、各満了処理が終了するごとに、再スケジューリングを行うかどうかが規定されていない
    • TOPPERS/ATK2では、再スケジューリングを行う実装としている

GetCounterValue

StatusType GetCounterValue(CounterType CounterID, TickRefType Value)
  • CounterIDで指定したカウンタの現在ティックを取得する

GetElapsedValue

StatusType GetElapsedValue(CounterType CounterID, TickRefType Value, TickRefType ElapsedValue)
  • CounterIDで指定したカウンタが、Valueで指定したティックから、現在何ティック経過しているかを取得する
  • 第2引数で、経過時間の基準とするティックを指定するが、同時に現在のティックによって上書きされるので注意が必要

TerminateApplication

StatusType TerminateApplication(ApplicationType Application, RestartType RestartOption)
  • Applicationで指定したOSAPを強制終了する

AllowAccess

StatusType AllowAccess(void)
  • 呼び出したタスクが所属するOSAPを利用可能状態にする
    • C2ISRからも呼び出し可能と規定されているが、ユースケースは不明
  • 再起動状態のOSAPに所属するリスタートタスクから呼び出される

GetApplicationState

StatusType GetApplicationState(ApplicationType Application, ApplicationStateRefType Value)
  • Applicationで指定したOSAPの状態を取得する

GetNumberOfActivatedCores

uint32 GetNumberOfActivatedCores(void)
  • AUTOSAR OSが起動しているコアの数を取得する

GetCoreID

CoreIdType GetCoreID(void)
  • 呼び出した処理が実行されているコアIDを取得する

StartCore

void StartCore(CoreIdType CoreID, StatusType* Status)
  • CoreIDで指定したコアを、AUTOSAR OS管理のコアとして起動する
    • OSは起動しない

StartNonAutosarCore

void StartNonAutosarCore(CoreIdType CoreID, StatusType* Status)
  • CoreIDで指定したコアを、AUTOSAR OS管理外のコアとして起動する

GetSpinlock

StatusType GetSpinlock(SpinlockIdType SpinlockId)
  • SpinlockIdで指定したスピンロックを獲得する
    • 取得できない場合、獲得できるまでスピンする

ReleaseSpinlock

StatusType ReleaseSpinlock(SpinlockIdType SpinlockId)
  • SpinlockIdで指定したスピンロックを開放する
  • スピンロックとリソースの獲得、解放はLIFOで実行しなければならないと規定されている[OS702]が、スピンロックとリソースは独立したオブジェクトであり、独立してLIFOであれば問題ないため、本要求の意味は不明である

TryToGetSpinlock

StatusType TryToGetSpinlock(SpinlockIdType SpinlockId, TryToGetSpinlockType* Success)
  • SpinlockIdで指定したスピンロックを獲得する
    • 取得できない場合、エラー終了する

ShutdownAllCores

void ShutdownAllCores(StatusType Error)
  • OS実行中のすべてのコアでOSシャットダウンを行う
  • ShutdownAllCoresを呼び出していないコアのシャットダウンフックに、何のエラーコードが渡されるかは規定されていない
    • TOPPERS/ATK2では、ShutdownAllCoresを呼び出していないコアでは、シャットダウンフックにE_OS_SHUTDOWN_OTHER_COREが渡される実装としている

IocSend

Std_ReturnType IocSend_<IocId>[_<SenderId>](<Data> IN)
  • IocIdに対して単一のデータを送信する(キューあり)

IocWrite

Std_ReturnType IocWrite_<IocId>[_<SenderId>](<Data> IN)
  • IocIdに対して単一のデータを送信する(キューなし)

IocSendGroup

Std_ReturnType IocSendGroup_<IocId>(<Data1> IN1, <Data2> IN2, ...)
  • IocIdに対して複数のデータを送信する(キューあり)

IocWriteGroup

Std_ReturnType IocWriteGroup_<IocId>(<Data1> IN1, <Data2> IN2, ...)
  • IocIdに対して複数のデータを送信する(キューなし)

IocReceive

Std_ReturnType IocReceive_<IocId>(<Data> OUT)
  • IocIdから単一のデータを受信する(キューあり)

IocRead

Std_ReturnType IocRead_<IocId>(<Data> OUT)
  • IocIdから単一のデータを受信する(キューなし)

IocReceiveGroup

Std_ReturnType IocReceiveGroup_<IocId>(<Data1> OUT1, <Data2> OUT2, ...)
  • IocIdから複数のデータを受信する(キューあり)

IocReadGroup

Std_ReturnType IocReadGroup_<IocId>(<Data1> OUT1, <Data2> OUT2, ...)
  • IocIdから複数のデータを受信する(キューなし)

IocEmptyQueue

Std_ReturnType IocEmptyQueue_<IocId>(void)
  • IocIdのキューを空にする

コンフィギュレーション仕様

OsAlarm

/AUTOSAR/EcucDefs/Os/OsAlarm
  • 型:Container
  • 多重度:0..*
  • アラームオブジェクトコンテナ

OsAlarmAccessingApplication

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAccessingApplication
  • 型:Reference
  • 多重度:0..*
  • アラームにアクセス可能なOSAP

OsAlarmCounterRef

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmCounterRef
  • 型:Reference
  • 多重度:1
  • アラームに接続するカウンタ

OsAlarmAction

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction
  • 型:Container
  • 多重度:1
  • アラームアクション指定

OsAlarmActivateTask

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask
  • 型:Container
  • 多重度:0..1
  • アラームアクションのタスク起動指定

OsAlarmActivateTaskRef

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmActivateTask/OsAlarmActivateTaskRef
  • 型:Reference
  • 多重度:1
  • アラームのアクションで起動するタスク

OsAlarmCallback

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmCallback
  • 型:Container
  • 多重度:0..1
  • アラームアクションのアラームコールバック指定

OsAlarmCallbackName

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmCallback/OsAlarmCallbackName
  • 型:FunctionName
  • 多重度:1
  • アラームのアクションで呼び出すアラームコールバックの名称

OsAlarmIncrementCounter

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmIncrementCounter
  • 型:Container
  • 多重度:0..1
  • アラームアクションのカウンタインクリメント指定

OsAlarmIncrementCounterRef

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmIncrementCounter/OsAlarmIncrementCounterRef
  • 型:Reference
  • 多重度:1
  • アラームのアクションでインクリメントするカウンタ

OsAlarmSetEvent

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent
  • 型:Container
  • 多重度:0..1
  • アラームアクションのイベントセット指定

OsAlarmSetEventRef

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventRef
  • 型:Reference
  • 多重度:1
  • アラームのアクションでセットするイベント

OsAlarmSetEventTaskRef

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventTaskRef
  • 型:Reference
  • 多重度:1
  • アラームのアクションでイベントをセットするタスク

OsAlarmAutostart

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart
  • 型:Container
  • 多重度:0..1
  • アラーム自動起動設定

OsAlarmAlarmTime

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart/OsAlarmAlarmTime
  • 型:IntegerParam
  • 多重度:1
  • アラーム自動起動時の初回満了時刻

OsAlarmAutostartType

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart/OsAlarmAutostartType
  • 型:EnumerationParam
    • ABSOLUTE:絶対アラームとして自動起動する
    • RELATIVE:相対アラームとして自動起動する
  • 多重度:1
  • アラームの動作種別

OsAlarmCycleTime

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart/OsAlarmCycleTime
  • 型:IntegerParam
  • 多重度:1
  • アラーム自動起動時の周期時間、0の場合は単発アラームとなる

OsAlarmAppModeRef

/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart/OsAlarmAppModeRef
  • 型:Reference
  • 多重度:1..*
  • 自動起動するアプリケーションモード

OsAppMode

/AUTOSAR/EcucDefs/Os/OsAppMode
  • 型:Container
  • 多重度:1..*
  • アプリケーションモードコンテナ

OsApplication

/AUTOSAR/EcucDefs/Os/OsApplication
  • 型:Container
  • 多重度:0..*
  • OSAPオブジェクトコンテナ

OsApplicationCoreAssignment

/AUTOSAR/EcucDefs/Os/OsApplication/OsApplicationCoreAssignment
  • 型:IntegerParam
  • 多重度:0..1
  • OSAPを割付けるコアID

OsTrusted

/AUTOSAR/EcucDefs/Os/OsApplication/OsTrusted
  • 型:BooleanParam
  • 多重度:1
  • 信頼OSAPか非信頼OSAPかを表す

OsAppAlarmRef

/AUTOSAR/EcucDefs/Os/OsApplication/OsAppAlarmRef
  • 型:Reference
  • 多重度:0..*
  • OSAPに所属するアラーム

OsAppCounterRef

/AUTOSAR/EcucDefs/Os/OsApplication/OsAppCounterRef
  • 型:Reference
  • 多重度:0..*
  • OSAPに所属するカウンタ

OsAppEcucPartitionRef

/AUTOSAR/EcucDefs/Os/OsApplication/OsAppEcucPartitionRef
  • 型:Reference
  • 多重度:0..1
  • OSAPに対応するEcucPartition

OsAppIsrRef

/AUTOSAR/EcucDefs/Os/OsApplication/OsAppIsrRef
  • 型:Reference
  • 多重度:0..*
  • OSAPに所属するISR

OsAppScheduleTableRef

/AUTOSAR/EcucDefs/Os/OsApplication/OsAppScheduleTableRef
  • 型:Reference
  • 多重度:0..*
  • OSAPに所属するスケジュールテーブル

OsAppTaskRef

/AUTOSAR/EcucDefs/Os/OsApplication/OsAppTaskRef
  • 型:Reference
  • 多重度:0..*
  • OSAPに所属するタスク

OsRestartTask

/AUTOSAR/EcucDefs/Os/OsApplication/OsRestartTask
  • 型:Reference
  • 多重度:0..1
  • OSAP再起動時に起動するタスク
  • 本パラメータを指定しない場合、リスタートタスクの起動は行われない

OsApplicationHooks

/AUTOSAR/EcucDefs/Os/OsApplication/OsApplicationHooks
  • 型:Container
  • 多重度:1
  • OSAP固有フックコンテナ

OsAppErrorHook

/AUTOSAR/EcucDefs/Os/OsApplication/OsApplicationHooks/OsAppErrorHook
  • 型:BooleanParam
  • 多重度:1
  • OSAP固有のエラーフック呼出し有無

OsAppShutdownHook

/AUTOSAR/EcucDefs/Os/OsApplication/OsApplicationHooks/OsAppShutdownHook
  • 型:BooleanParam
  • 多重度:1
  • OSAP固有のシャットダウンフック呼出し有無

OsAppStartupHook

/AUTOSAR/EcucDefs/Os/OsApplication/OsApplicationHooks/OsAppStartupHook
  • 型:BooleanParam
  • 多重度:1
  • OSAP固有のスタートアップフック呼出し有無

OsApplicationTrustedFunction

/AUTOSAR/EcucDefs/Os/OsApplication/OsApplicationTrustedFunction
  • 型:Container
  • 多重度:0..*
  • 信頼関数定義

OsTrustedFunctionName

/AUTOSAR/EcucDefs/Os/OsApplication/OsApplicationTrustedFunction/OsTrustedFunctionName
  • 型:FunctionName
  • 多重度:1
  • 信頼関数名

OsCounter

/AUTOSAR/EcucDefs/Os/OsCounter
  • 型:Container
  • 多重度:0..*
  • カウンタオブジェクトコンテナ

OsCounterMaxAllowedValue

/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterMaxAllowedValue
  • 型:IntegerParam
  • 多重度:1
  • カウンタのティックの最大値

OsCounterMinCycle

/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterMinCycle
  • 型:IntegerParam
  • 多重度:1
  • 接続されたアラームがカウンタに指定できる最小周期値

OsCounterTicksPerBase

/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterTicksPerBase
  • 型:IntegerParam
  • 多重度:1
  • OSがこの値をどのように使用するか不明
  • カウンタ固有の値(OSは不使用)

OsCounterType

/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterType
  • 型:EnumerationParam
    • HARDWARE:ハードウェアカウンタ
    • SOFTWARE:ソフトウェアカウンタ
  • 多重度:1
  • カウンタのタイプ

OsSecondsPerTick

/AUTOSAR/EcucDefs/Os/OsCounter/OsSecondsPerTick
  • 型:FloatParam
  • 多重度:0..1
  • ハードウェアカウンタにおける1ティック当たりの実時間(単位:秒)
  • ジェネレータは、ユーザが実時間を計算するために、変換マクロを生成する生成されるマクロの形式は、OS_TICKS2<Unit>_<Counter>(ticks)である
  • <Unit>にはNS、US、MS、SECが入り、4種類のマクロを出力する
  • <Counter>)は本コンテナを含むカウンタの名称である

OsCounterAccessingApplication

/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterAccessingApplication
  • 型:Reference
  • 多重度:0..*
  • カウンタにアクセス可能なOSAP

OsDriver

/AUTOSAR/EcucDefs/Os/OsCounter/OsDriver
  • 型:Container
  • 多重度:0..1
  • OsDriverコンテナの節がないため、削除漏れと思われる
    • TOPPERS/ATK2では削除している

OsGptChannelRef

/AUTOSAR/EcucDefs/Os/OsCounter/OsDriver/OsGptChannelRef
  • 型:Reference
  • 多重度:0..1
  • OsDriverコンテナの節がないため、削除漏れと思われる
    • TOPPERS/ATK2では削除している

OsTimeConstant

/AUTOSAR/EcucDefs/Os/OsCounter/OsTimeConstant
  • 型:Container
  • 多重度:0..*
  • OSがこの値をどのように使用するか不明
    • OsSecondsPerTickで同様の値を設定しているように思われる
    • TOPPERS/ATK2では削除している

OsTimeValue

/AUTOSAR/EcucDefs/Os/OsCounter/OsTimeConstant/OsTimeValue
  • 型:FloatParam
  • 多重度:1
  • OSがこの値をどのように使用するか不明
    • OsSecondsPerTickで同様の値を設定しているように思われる
    • TOPPERS/ATK2では削除している

OsEvent

/AUTOSAR/EcucDefs/Os/OsEvent
  • 型:Container
  • 多重度:0..*
  • イベントオブジェクトコンテナ

OsEventMask

/AUTOSAR/EcucDefs/Os/OsEvent/OsEventMask
  • 型:IntegerParam
  • 多重度:0..1
  • イベントマスク値

OsIsr

/AUTOSAR/EcucDefs/Os/OsIsr
  • 型:Container
  • 多重度:0..*
  • ISRオブジェクトコンテナ

OsIsrCategory

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrCategory
  • 型:EnumerationParam
    • CATEGORY_1:C1ISR
    • CATEGORY_2:C2ISR
  • 多重度:1
  • ISRのカテゴリ

OsIsrResourceRef

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrResourceRef
  • 型:Reference
  • 多重度:0..*
  • ISRが獲得するリソース

OsIsrTimingProtection

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection
  • 型:Container
  • 多重度:0..1
  • ISRオブジェクトタイミング保護設定コンテナ

OsIsrAllInterruptLockBudget

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrAllInterruptLockBudget
  • 型:FloatParam
  • 多重度:0..1
  • 全割込み禁止時間バジェット(単位:秒)

OsIsrExecutionBudget

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrExecutionBudget
  • 型:FloatParam
  • 多重度:0..1
  • C2ISR実行時間バジェット(単位:秒)

OsIsrOsInterruptLockBudget

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrOsInterruptLockBudget
  • 型:FloatParam
  • 多重度:0..1
  • OS割込み禁止バジェット(単位:秒)

OsIsrTimeFrame

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrTimeFrame
  • 型:FloatParam
  • 多重度:0..1
  • ISRタイムフレーム(単位:秒)

OsIsrResourceLock

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrResourceLock
  • 型:Container
  • 多重度:0..*
  • ISRのリソース占有時間バジェット設定コンテナ

OsIsrResourceLockBudget

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrResourceLock/OsIsrResourceLockBudget
  • 型:FloatParam
  • 多重度:1
  • リソース占有時間バジェット(単位:秒)

OsIsrResourceLockResourceRef

/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrResourceLock/OsIsrResourceLockResourceRef
  • 型:Reference
  • 多重度:1
  • リソース占有時間バジェットを監視するリソース

OsOS

/AUTOSAR/EcucDefs/Os/OsOS
  • 型:Container
  • 多重度:1
  • OS設定コンテナ

OsNumberOfCores

/AUTOSAR/EcucDefs/Os/OsOS/OsNumberOfCores
  • 型:IntegerParam
  • 多重度:0..1
  • 複数のコアの中で、どのコアがマスタコアかを指定するコンテナが存在しない
    • ComなどのBSWはマスタコアでしか使用できないため、RTEジェネレータがマスタコア/スレーブコアの判別ができない問題がある
    • TOPPERS/ATK2では、/AUTOSAR/EcucDefs/Os/OsOS/OsMasterCoreIdを新設している
  • 本OSを起動するコア数の最大値

OsScalabilityClass

/AUTOSAR/EcucDefs/Os/OsOS/OsScalabilityClass
  • 型:EnumerationParam
    • SC1:スケーラビリティクラス1
    • SC2:スケーラビリティクラス2(タイミング保護)
    • SC3:スケーラビリティクラス3(メモリ保護)
    • SC4:スケーラビリティクラス4(タイミング保護+メモリ保護)
  • 多重度:0..1
  • スケーラビリティクラス
  • 本パラメータが省略された場合、実装定義のデフォルト値が選択される

OsStackMonitoring

/AUTOSAR/EcucDefs/Os/OsOS/OsStackMonitoring
  • 型:BooleanParam
  • 多重度:1
  • スタックモニタリングの使用有無

OsStatus

/AUTOSAR/EcucDefs/Os/OsOS/OsStatus
  • 型:EnumerationParam
    • STANDARD:標準エラーのみ検出
    • EXTENDED:標準エラーと拡張エラーを検出
  • 多重度:1
  • エラーコード種別の指定

OsUseGetServiceId

/AUTOSAR/EcucDefs/Os/OsOS/OsUseGetServiceId
  • 型:BooleanParam
  • 多重度:1
  • OSErrorGetServiceId()の使用有無

OsUseParameterAccess

/AUTOSAR/EcucDefs/Os/OsOS/OsUseParameterAccess
  • 型:BooleanParam
  • 多重度:1
  • エラーが発生したシステムサービスの引数取得の使用有無

OsUseResScheduler

/AUTOSAR/EcucDefs/Os/OsOS/OsUseResScheduler
  • 型:BooleanParam
  • 多重度:1
  • AUTOSAR仕様では、スケジューラリソースをサポートしないため本パラメータは使用されない

OsHooks

/AUTOSAR/EcucDefs/Os/OsOS/OsHooks
  • 型:Container
  • 多重度:1
  • フック設定コンテナ

OsErrorHook

/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsErrorHook
  • 型:BooleanParam
  • 多重度:1
  • エラーフックの呼出し有無

OsPostTaskHook

/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsPostTaskHook
  • 型:BooleanParam
  • 多重度:1
  • ポストタスクフックの呼出し有無

OsPreTaskHook

/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsPreTaskHook
  • 型:BooleanParam
  • 多重度:1
  • プレタスクフックの呼出し有無

OsProtectionHook

/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsProtectionHook
  • 型:BooleanParam
  • 多重度:0..1
  • プロテクションフックの呼出し有無

OsShutdownHook

/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsShutdownHook
  • 型:BooleanParam
  • 多重度:1
  • シャットダウンフックの呼出し有無

OsStartupHook

/AUTOSAR/EcucDefs/Os/OsOS/OsHooks/OsStartupHook
  • 型:BooleanParam
  • 多重度:1
  • スタートアップフックの呼出し有無

OsResource

/AUTOSAR/EcucDefs/Os/OsResource
  • 型:Container
  • 多重度:0..*
  • リソースオブジェクトコンテナ

OsResourceProperty

/AUTOSAR/EcucDefs/Os/OsResource/OsResourceProperty
  • 型:EnumerationParam
    • STANDARD:標準リソース
    • INTERNAL:内部リソース
    • LINKED:リンクリソース
  • 多重度:1
  • リソース種別

OsResourceAccessingApplication

/AUTOSAR/EcucDefs/Os/OsResource/OsResourceAccessingApplication
  • 型:Reference
  • 多重度:0..*
  • リソースにアクセス可能なOSAP

OsResourceLinkedResourceRef

/AUTOSAR/EcucDefs/Os/OsResource/OsResourceLinkedResourceRef
  • 型:Reference
  • 多重度:0..1
  • リンクリソースにおけるリンク先リソース

OsScheduleTable

/AUTOSAR/EcucDefs/Os/OsScheduleTable
  • 型:Container
  • 多重度:0..*
  • スケジュールテーブルオブジェクトコンテナ

OsScheduleTableDuration

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableDuration
  • 型:IntegerParam
  • 多重度:1
  • スケジュールテーブル周期(ティック数)

OsScheduleTableRepeating

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableRepeating
  • 型:BooleanParam
  • 多重度:1
  • スケジュールテーブルの繰り返し指定

OsSchTblAccessingApplication

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsSchTblAccessingApplication
  • 型:Reference
  • 多重度:0..*
  • スケジュールテーブルにアクセス可能なOSAP

OsScheduleTableCounterRef

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableCounterRef
  • 型:Reference
  • 多重度:1
  • スケジュールテーブルに接続するカウンタ

OsScheduleTableAutostart

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableAutostart
  • 型:Container
  • 多重度:0..1
  • スケジュールテーブル自動起動設定コンテナ

OsScheduleTableAutostartType

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableAutostart/OsScheduleTableAutostartType
  • 型:EnumerationParam
    • ABSOLUTE:ティックの絶対値で自動起動する
    • RELATIVE:ティックの相対値で自動起動する
    • SYNCHRON:同期待ち状態で自動起動する
  • 多重度:1
  • 自動起動種別の指定

OsScheduleTableStartValue

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableAutostart/OsScheduleTableStartValue
  • 型:IntegerParam
  • 多重度:0..1
  • OsScheduleTableAutostartTypeがABSOLUTEの場合、自動起動するスケジュールテーブルに対して設定するティックの絶対値として使用される
  • OsScheduleTableAutostartTypeがRELATIVEの場合、自動起動するスケジュールテーブルに対して設定するティックの相対値として使用される

OsScheduleTableAppModeRef

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableAutostart/OsScheduleTableAppModeRef
  • 型:Reference
  • 多重度:1..*
  • 自動起動するアプリケーションモード

OsScheduleTableExpiryPoint

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint
  • 型:Container
  • 多重度:1..*
  • スケジュールテーブル満了点設定コンテナ

OsScheduleTblExpPointOffset

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblExpPointOffset
  • 型:IntegerParam
  • 多重度:1
  • スケジュールテーブル満了点オフセット(スケジュールテーブル先頭からのティック数)

OsScheduleTableEventSetting

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting
  • 型:Container
  • 多重度:0..*
  • スケジュールテーブル満了点セットするイベントの設定コンテナ

OsScheduleTableSetEventRef

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting/OsScheduleTableSetEventRef
  • 型:Reference
  • 多重度:1
  • 満了点アクションでセットするイベント

OsScheduleTableSetEventTaskRef

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting/OsScheduleTableSetEventTaskRef
  • 型:Reference
  • 多重度:1
  • 満了点アクションでイベントをセットするタスク

OsScheduleTableTaskActivation

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableTaskActivation
  • 型:Container
  • 多重度:0..*
  • スケジュールテーブル満了点で起動するタスクの設定コンテナ

OsScheduleTableActivateTaskRef

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableTaskActivation/OsScheduleTableActivateTaskRef
  • 型:Reference
  • 多重度:1
  • 満了点アクションで起動するタスク

OsScheduleTblAdjustableExpPoint

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblAdjustableExpPoint
  • 型:Container
  • 多重度:0..1
  • スケジュールテーブル満了点同期設定コンテナ

OsScheduleTableMaxLengthen

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblAdjustableExpPoint/OsScheduleTableMaxLengthen
  • 型:IntegerParam
  • 多重度:1
  • 同期補正で満了点の遅延を伸ばしてもよい最大値(ティック数)

OsScheduleTableMaxShorten

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblAdjustableExpPoint/OsScheduleTableMaxShorten
  • 型:IntegerParam
  • 多重度:1
  • 同期補正で満了点の遅延を縮めてもよい最大値(ティック数)

OsScheduleTableSync

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableSync
  • 型:Container
  • 多重度:0..1
  • スケジュールテーブル同期設定コンテナ
  • 本コンテナを省略した場合、同期なしスケジュールテーブルとなる

OsScheduleTblExplicitPrecision

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableSync/OsScheduleTblExplicitPrecision
  • 型:IntegerParam
  • 多重度:0..1
  • スケジュールテーブルを同期状態とみなす最大差分(ティック数)

OsScheduleTblSyncStrategy

/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableSync/OsScheduleTblSyncStrategy
  • 型:EnumerationParam
    • EXPLICIT:明示同期
    • IMPLICIT:暗黙同期
    • NONE:同期なし(デフォルト)
  • 多重度:1
  • スケジュールテーブルの同期方式

OsSpinlock

/AUTOSAR/EcucDefs/Os/OsSpinlock
  • 型:Container
  • 多重度:0..*
  • スピンロックオブジェクトコンテナ

OsSpinlockAccessingApplication

/AUTOSAR/EcucDefs/Os/OsSpinlock/OsSpinlockAccessingApplication
  • 型:Reference
  • 多重度:1..*
  • スピンロックにアクセス可能なOSAP

OsSpinlockSuccessor

/AUTOSAR/EcucDefs/Os/OsSpinlock/OsSpinlockSuccessor
  • 型:Reference
  • 多重度:0..1
  • ネストして獲得可能なスピンロック指定
  • 獲得するスピンロックの順に本パラメータを記述することで、スピンロック獲得順序を示すリストを管理し、チェックすることができる

OsTask

/AUTOSAR/EcucDefs/Os/OsTask
  • 型:Container
  • 多重度:0..*
  • タスクオブジェクトコンテナ

OsTaskActivation

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskActivation
  • 型:IntegerParam
  • 多重度:1
  • 最大起動要求回数

OsTaskPriority

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskPriority
  • 型:IntegerParam
  • 多重度:1
  • タスク優先度

OsTaskSchedule

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskSchedule
  • 型:EnumerationParam
    • FULL:フルプリエンプティブスケジューリング
    • NON:ノンプリエンプティブスケジューリング
  • 多重度:1
  • タスクのスケジューリングポリシ

OsTaskAccessingApplication

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskAccessingApplication
  • 型:Reference
  • 多重度:0..*
  • タスクにアクセス可能なOSAP

OsTaskEventRef

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskEventRef
  • 型:Reference
  • 多重度:0..*
  • タスクの持つイベント

OsTaskResourceRef

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskResourceRef
  • 型:Reference
  • 多重度:0..*
  • タスクが獲得するリソース

OsTaskAutostart

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskAutostart
  • 型:Container
  • 多重度:0..1
  • タスクオブジェクトの自動起動指定コンテナ

OsTaskAppModeRef

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskAutostart/OsTaskAppModeRef
  • 型:Reference
  • 多重度:1..*
  • 自動起動するアプリケーションモード

OsTaskTimingProtection

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection
  • 型:Container
  • 多重度:0..1
  • タスクオブジェクトタイミング保護設定コンテナ

OsTaskAllInterruptLockBudget

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskAllInterruptLockBudget
  • 型:FloatParam
  • 多重度:0..1
  • 全割込み禁止時間バジェット(単位:秒)

OsTaskExecutionBudget

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskExecutionBudget
  • 型:FloatParam
  • 多重度:0..1
  • タスク実行時間バジェット(単位:秒)

OsTaskOsInterruptLockBudget

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskOsInterruptLockBudget
  • 型:FloatParam
  • 多重度:0..1
  • OS割込み禁止バジェット(単位:秒)

OsTaskTimeFrame

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskTimeFrame
  • 型:FloatParam
  • 多重度:0..1
  • タスクタイムフレーム(単位:秒)

OsTaskResourceLock

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskResourceLock
  • 型:Container
  • 多重度:0..*
  • タスクのリソース占有時間バジェット設定コンテナ

OsTaskResourceLockBudget

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskResourceLock/OsTaskResourceLockBudget
  • 型:FloatParam
  • 多重度:1
  • リソース占有時間バジェット(単位:秒)

OsTaskResourceLockResourceRef

/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskResourceLock/OsTaskResourceLockResourceRef
  • 型:Reference
  • 多重度:1
  • リソース占有時間バジェットを監視するリソース

OsIoc

/AUTOSAR/EcucDefs/Os/OsIoc
  • 型:Container
  • 多重度:0..1
  • IOC情報コンテナ

OsIocCommunication

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication
  • 型:Container
  • 多重度:0..*
  • IOCオブジェクトコンテナ

OsIocBufferLength

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocBufferLength
  • 型:IntegerParam
  • 多重度:0..1
  • IOCのキューサイズ
  • 本パラメータを指定した場合、IOCはキューありとなり、本パラメータを省略した場合、IOCはキューなしとなる

OsIocDataProperties

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocDataProperties
  • 型:Container
  • 多重度:1..*
  • 通信データ情報コンテナ
  • 本コンテナが1つ定義された場合、単一通信となり、2つ以上定義された場合、グループ通信となる

OsIocDataPropertyIndex

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocDataProperties/OsIocDataPropertyIndex
  • 型:IntegerParam
  • 多重度:0..1
  • 生成されるIOC用システムサービスの引数の順序
  • 小さい値のデータから順に、引数に与えられる

OsIocInitValue

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocDataProperties/OsIocInitValue
  • 型:StringParam
  • 多重度:0..1
  • 通信データの初期値

OsIocDataTypeRef

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocDataProperties/OsIocDataTypeRef
  • 型:Reference
  • 多重度:1
  • 通信データのデータ型
  • <IMPLEMENTATION-DATA-TYPE>への参照となる

OsIocReceiverProperties

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocReceiverProperties
  • 型:Container
  • 多重度:1
  • レシーバ情報コンテナ

OsIocFunctionImplementationKind

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocReceiverProperties/OsIocFunctionImplementationKind
  • 型:EnumerationParam
    • FUNCTION:関数
    • MACRO:マクロ
    • DO_NOT_CARE:指定しない(デフォルト)
  • 多重度:0..1
  • IOC用システムサービスの実装方法の選択

OsIocReceiverPullCB

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocReceiverProperties/OsIocReceiverPullCB
  • 型:FunctionName
  • 多重度:0..1
  • IOCによるデータ受信時に呼び出すコールバック

OsIocReceivingOsApplicationRef

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocReceiverProperties/OsIocReceivingOsApplicationRef
  • 型:Reference
  • 多重度:1
  • レシーバが所属するOSAP

OsIocSenderProperties

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocSenderProperties
  • 型:Container
  • 多重度:1..*
  • センダ情報コンテナ
  • 本コンテナが1つ定義された場合、1:1通信となり、2つ以上定義された場合、N:1通信となる

OsIocFunctionImplementationKind

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocSenderProperties/OsIocFunctionImplementationKind
  • 型:EnumerationParam
    • FUNCTION:関数
    • MACRO:マクロ
    • DO_NOT_CARE:指定しない(デフォルト)
  • 多重度:0..1
  • IOC用システムサービスの実装方法の選択

OsIocSenderId

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocSenderProperties/OsIocSenderId
  • 型:IntegerParam
  • 多重度:0..1
  • N:1通信時におけるセンダID

OsIocSendingOsApplicationRef

/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocSenderProperties/OsIocSendingOsApplicationRef
  • 型:Reference
  • 多重度:1
  • センダが所属するOSAP
Last modified 22 months ago Last modified on 15/07/15 13:02:54