Version 24 (modified by 4 years ago) ( diff ) | ,
---|
OS
概要
- AUTOSARプラットフォームにおけるリアルタイムOS
- 主にタスクスケジューリング、割込み管理などを行う
- MCAL層が無いため、マイコンに依存した実装が伴う
- OSEK/VDX仕様OSの上位互換とされ、OSEK仕様書に記載されている内容については、AUTOSAR仕様書には記載されていない
- OSEKは、ISOで標準化されたため、2020年現在はWebで一般公開されていない
- OSEK仕様とAUTOSAR仕様で若干の矛盾等も存在する
- コンフィギュレーション方法は、AUTOSAR準拠のXML方式に統合される
- OSの機能セット毎に、4つのスケーラビリティクラスが規定されている
- スケーラビリティクラス1(SC1)
- 基本セット
- スケーラビリティクラス2(SC2)
- 基本セット + タイミング保護
- スケーラビリティクラス3(SC3)
- 基本セット + メモリ保護
- スケーラビリティクラス4(SC4)
- 基本セット + タイミング保護 + メモリ保護
- スケーラビリティクラス1(SC1)
- すべてのSCをマルチコアに拡張可能である
- 用語一覧
- C1ISR:カテゴリ1ISR
- C2ISR:カテゴリ2ISR
- OSAP:OSアプリケーション
- API一覧:OSEK仕様 (OSEK仕様ではIDは未規定のためTOPPERS/ATK2のIDを記載)
API ID
[Dec]ID
[Hex]ActivateTask 224 0xE0 TerminateTask 225 0xE1 ChainTask 226 0xE2 Schedule 227 0xE3 GetTaskID 228 0xE4 GetTaskState 229 0xE5 EnableAllInterrupts 230 0xE6 DisableAllInterrupts 231 0xE7 ResumeAllInterrupts 232 0xE8 SuspendAllInterrupts 233 0xE9 ResumeOSInterrupts 234 0xEA SuspendOSInterrupts 235 0xEB GetResource 236 0xEC ReleaseResource 237 0xED SetEvent 238 0xEE ClearEvent 239 0xEF GetEvent 240 0xF0 WaitEvent 241 0xF1 GetAlarmBase 242 0xF2 GetAlarm 243 0xF3 SetRelAlarm 244 0xF4 SetAbsAlarm 245 0xF5 CancelAlarm 246 0xF6 GetActiveApplicationMode 247 0xF7 StartOS 248 0xF8 ShutdownOS 249 0xF9
- API一覧:AUTOSAR仕様
- コンフィギュレーション一覧(R4.0.3 / R4.2.2)
- OsAlarm (○/○)
- OsAlarmAccessingApplication (○/○)
- OsAlarmCounterRef (○/○)
- OsAlarmAction (○/○)
- OsAlarmActivateTask (○/○)
- OsAlarmActivateTaskRef (○/○)
- OsAlarmCallback (○/○)
- OsAlarmCallbackName (○/○)
- OsAlarmIncrementCounter (○/○)
- OsAlarmSetEvent (○/○)
- OsAlarmSetEventRef (○/○)
- OsAlarmSetEventTaskRef (○/○)
- OsAlarmActivateTask (○/○)
- OsAlarmAutostart (○/○)
- OsAlarmAlarmTime (○/○)
- OsAlarmAutostartType (○/○)
- OsAlarmCycleTime (○/○)
- OsAlarmAppModeRef (○/○)
- OsAppMode (○/○)
- OsApplication (○/○)
- OsApplicationCoreAssignment (○/-)
- OsApplicationCoreRef (-/○)
- OsTrusted (○/○)
- OsTrustedApplicationDelayTimingViolationCall (-/○)
- OsTrustedApplicationWithProtection (-/○)
- OsAppAlarmRef (○/○)
- OsAppCounterRef (○/○)
- OsAppEcucPartitionRef (○/○)
- OsAppIsrRef (○/○)
- OsAppScheduleTableRef (○/○)
- OsAppTaskRef (○/○)
- OsRestartTask (○/○)
- OsApplicationHooks (○/○)
- OsAppErrorHook (○/○)
- OsAppShutdownHook (○/○)
- OsAppStartupHook (○/○)
- OsApplicationTrustedFunction (○/○)
- OsTrustedFunctionName (○/○)
- OsCounter (○/○)
- OsCounterMaxAllowedValue (○/○)
- OsCounterMinCycle (○/○)
- OsCounterTicksPerBase (○/○)
- OsCounterType (○/○)
- OsSecondsPerTick (○/○)
- OsCounterAccessingApplication (○/○)
- OsDriver (○/○)
- OsGptChannelRef (○/○)
- OsTimeConstant (○/○)
- OsTimeValue (○/○)
- OsEvent (○/○)
- OsEventMask (○/○)
- OsIsr (○/○)
- OsIsrCategory (○/○)
- OsIsrResourceRef (○/○)
- OsIsrTimingProtection (○/○)
- OsIsrAllInterruptLockBudget (○/○)
- OsIsrExecutionBudget (○/○)
- OsIsrOsInterruptLockBudget (○/○)
- OsIsrTimeFrame (○/○)
- OsIsrResourceLock (○/○)
- OsIsrResourceLockBudget (○/○)
- OsIsrResourceLockResourceRef (○/○)
- OsOS (○/○)
- OsNumberOfCores (○/○)
- OsScalabilityClass (○/○)
- OsStackMonitoring (○/○)
- OsStatus (○/○)
- OsUseGetServiceId (○/○)
- OsUseParameterAccess (○/○)
- OsUseResScheduler (○/○)
- OsHooks (○/○)
- OsErrorHook (○/○)
- OsPostTaskHook (○/○)
- OsPreTaskHook (○/○)
- OsProtectionHook (○/○)
- OsShutdownHook (○/○)
- OsStartupHook (○/○)
- OsResource (○/○)
- OsResourceProperty (○/○)
- OsResourceAccessingApplication (○/○)
- OsResourceLinkedResourceRef (○/○)
- OsScheduleTable (○/○)
- OsScheduleTableDuration (○/○)
- OsScheduleTableRepeating (○/○)
- OsSchTblAccessingApplication (○/○)
- OsScheduleTableCounterRef (○/○)
- OsScheduleTableAutostart (○/○)
- OsScheduleTableAutostartType (○/○)
- OsScheduleTableStartValue (○/○)
- OsScheduleTableAppModeRef (○/○)
- OsScheduleTableExpiryPoint (○/○)
- OsScheduleTableSync (○/○)
- OsSpinlock (○/○)
- OsSpinlockLockMethod (-/○)
- OsSpinlockAccessingApplication (○/○)
- OsSpinlockSuccessor (○/○)
- OsTask (○/○)
- OsTaskActivation (○/○)
- OsTaskPriority (○/○)
- OsTaskSchedule (○/○)
- OsTaskAccessingApplication (○/○)
- OsTaskEventRef (○/○)
- OsTaskResourceRef (○/○)
- OsTaskAutostart (○/○)
- OsTaskAppModeRef (○/○)
- OsTaskTimingProtection (○/○)
- OsTaskAllInterruptLockBudget (○/○)
- OsTaskExecutionBudget (○/○)
- OsTaskOsInterruptLockBudget (○/○)
- OsTaskTimeFrame (○/○)
- OsTaskResourceLock (○/○)
- OsIoc (○/○)
- OsIocCommunication (○/○)
- OsIocBufferLength (○/○)
- OsIocDataProperties (○/○)
- OsIocDataPropertyIndex (○/○)
- OsIocInitValue (○/○)
- OsIocDataTypeRef (○/○)
- OsIocReceiverProperties (○/○)
- OsIocFunctionImplementationKind (○/○)
- OsIocReceiverPullCB (○/○)
- OsIocReceivingOsApplicationRef (○/○)
- OsIocSenderProperties (○/○)
- OsIocFunctionImplementationKind (○/○)
- OsIocSenderId (○/○)
- OsIocSendingOsApplicationRef (○/○)
- OsIocCommunication (○/○)
- OsAlarm (○/○)
- エラーコード一覧
- 1~8はOSEKで規定されている
- "--"は実装依存と規定されている
エラーコード Dec Hex R4.0.3 R4.2.2 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が強制終了した場合:多重起動はリセット
- TOPPERS/ATK2では、以下のような実装としている
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)
- OSを起動する
- ECU State Managerから呼び出される
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が渡される実装としている
ControlIdle
StatusType ControlIdle(CoreIdType CoreID, IdleModeType IdleMode)
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のキューを空にする
GetCurrentApplicationID
ApplicationType GetCurrentApplicationID(void)
コンフィギュレーション仕様
OsAlarm
/AUTOSAR/EcucDefs/Os/OsAlarm
- 型:Container
- 多重度:0..*
- アラームオブジェクトコンテナ
OsAlarmAccessingApplication
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAccessingApplication
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
- アラームにアクセス可能なOSAP
OsAlarmCounterRef
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmCounterRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsCounter
- アラームに接続するカウンタ
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
- 参照先:
/AUTOSAR/EcucDefs/Os/OsTask
- アラームのアクションで起動するタスク
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
- 参照先:
/AUTOSAR/EcucDefs/Os/OsCounter
- アラームのアクションでインクリメントするカウンタ
OsAlarmSetEvent
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent
- 型:Container
- 多重度:0..1
- アラームアクションのイベントセット指定
OsAlarmSetEventRef
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsEvent
- アラームのアクションでセットするイベント
OsAlarmSetEventTaskRef
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventTaskRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsTask
- アラームのアクションでイベントをセットするタスク
OsAlarmAutostart
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart
- 型:Container
- 多重度:0..1
- アラーム自動起動設定
OsAlarmAlarmTime
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart/OsAlarmAlarmTime
- 型:IntegerParam
- 多重度:1
- 上限値:18446744073709551615
- 下限値:0
- アラーム自動起動時の初回満了時刻
OsAlarmAutostartType
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart/OsAlarmAutostartType
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- ABSOLUTE:絶対アラームとして自動起動する
- RELATIVE:相対アラームとして自動起動する
- アラームの動作種別
OsAlarmCycleTime
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart/OsAlarmCycleTime
- 型:IntegerParam
- 多重度:1
- アラーム自動起動時の周期時間、0の場合は単発アラームとなる
- 上限値:18446744073709551615
- 下限値:0
OsAlarmAppModeRef
/AUTOSAR/EcucDefs/Os/OsAlarm/OsAlarmAutostart/OsAlarmAppModeRef
- 型:Reference
- 多重度:1..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsAppMode
- 自動起動するアプリケーションモード
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
OsApplicationCoreRef
/AUTOSAR/EcucDefs/Os/OsApplication/OsApplicationCoreRef
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/EcuC/EcucHardware/EcucCoreDefinition
OsTrusted
/AUTOSAR/EcucDefs/Os/OsApplication/OsTrusted
- 型:BooleanParam
- 多重度:1
- デフォルト値:false
- 信頼OSAPか非信頼OSAPかを表す
OsTrustedApplicationDelayTimingViolationCall
/AUTOSAR/EcucDefs/Os/OsApplication/OsTrustedApplicationDelayTimingViolationCall
- 型:BooleanParam
- 多重度:1
- デフォルト値:true
OsTrustedApplicationWithProtection
/AUTOSAR/EcucDefs/Os/OsApplication/OsTrustedApplicationWithProtection
- 型:BooleanParam
- 多重度:1
- デフォルト値:false
OsAppAlarmRef
/AUTOSAR/EcucDefs/Os/OsApplication/OsAppAlarmRef
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsAlarm
- OSAPに所属するアラーム
OsAppCounterRef
/AUTOSAR/EcucDefs/Os/OsApplication/OsAppCounterRef
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsCounter
- OSAPに所属するカウンタ
OsAppEcucPartitionRef
/AUTOSAR/EcucDefs/Os/OsApplication/OsAppEcucPartitionRef
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/EcuC/EcucPartitionCollection/EcucPartition
- OSAPに対応するEcucPartition
OsAppIsrRef
/AUTOSAR/EcucDefs/Os/OsApplication/OsAppIsrRef
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsIsr
- OSAPに所属するISR
OsAppScheduleTableRef
/AUTOSAR/EcucDefs/Os/OsApplication/OsAppScheduleTableRef
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsScheduleTable
- OSAPに所属するスケジュールテーブル
OsAppTaskRef
/AUTOSAR/EcucDefs/Os/OsApplication/OsAppTaskRef
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsTask
- OSAPに所属するタスク
OsRestartTask
/AUTOSAR/EcucDefs/Os/OsApplication/OsRestartTask
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsTask
- 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
- 上限値:18446744073709551615
- 下限値:1
- カウンタのティックの最大値
OsCounterMinCycle
/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterMinCycle
- 型:IntegerParam
- 多重度:1
- 上限値:18446744073709551615
- 下限値:1
- 接続されたアラームがカウンタに指定できる最小周期値
OsCounterTicksPerBase
/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterTicksPerBase
- 型:IntegerParam
- 多重度:1
- 上限値:4294967295
- 下限値:1
- OSがこの値をどのように使用するか不明
- カウンタ固有の値(OSは不使用)
OsCounterType
/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterType
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- HARDWARE:ハードウェアカウンタ
- SOFTWARE:ソフトウェアカウンタ
- カウンタのタイプ
OsSecondsPerTick
/AUTOSAR/EcucDefs/Os/OsCounter/OsSecondsPerTick
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- ハードウェアカウンタにおける1ティック当たりの実時間(単位:秒)
- ジェネレータは、ユーザが実時間を計算するために、変換マクロを生成する生成されるマクロの形式は、
OS_TICKS2<Unit>_<Counter>(ticks)
である <Unit>
にはNS、US、MS、SECが入り、4種類のマクロを出力する<Counter>)
は本コンテナを含むカウンタの名称である
OsCounterAccessingApplication
/AUTOSAR/EcucDefs/Os/OsCounter/OsCounterAccessingApplication
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
- カウンタにアクセス可能なOSAP
OsDriver
/AUTOSAR/EcucDefs/Os/OsCounter/OsDriver
- 型:Container
- 多重度:0..1
- OsDriverコンテナの節がないため、削除漏れと思われる
- TOPPERS/ATK2では削除している
OsGptChannelRef
/AUTOSAR/EcucDefs/Os/OsCounter/OsDriver/OsGptChannelRef
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Gpt/GptChannelConfigSet/GptChannelConfiguration
- OsDriverコンテナの節がないため、削除漏れと思われる
- TOPPERS/ATK2では削除している
OsTimeConstant
/AUTOSAR/EcucDefs/Os/OsCounter/OsTimeConstant
- 型:Container
- 多重度:0..*
- OSがこの値をどのように使用するか不明
- OsSecondsPerTickで同様の値を設定しているように思われる
- TOPPERS/ATK2では削除している
OsTimeValue
/AUTOSAR/EcucDefs/Os/OsCounter/OsTimeConstant/OsTimeValue
- 型:FloatParam
- 多重度:1
- 上限値:Inf
- 下限値:0
- OSがこの値をどのように使用するか不明
- OsSecondsPerTickで同様の値を設定しているように思われる
- TOPPERS/ATK2では削除している
OsEvent
/AUTOSAR/EcucDefs/Os/OsEvent
- 型:Container
- 多重度:0..*
- イベントオブジェクトコンテナ
OsEventMask
/AUTOSAR/EcucDefs/Os/OsEvent/OsEventMask
- 型:IntegerParam
- 多重度:0..1
- 上限値:18446744073709551615
- 下限値:0
- イベントマスク値
OsIsr
/AUTOSAR/EcucDefs/Os/OsIsr
- 型:Container
- 多重度:0..*
- ISRオブジェクトコンテナ
OsIsrCategory
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrCategory
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- CATEGORY_1:C1ISR
- CATEGORY_2:C2ISR
- ISRのカテゴリ
OsIsrResourceRef
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrResourceRef
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsResource
- ISRが獲得するリソース
OsIsrTimingProtection
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection
- 型:Container
- 多重度:0..1
- ISRオブジェクトタイミング保護設定コンテナ
OsIsrAllInterruptLockBudget
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrAllInterruptLockBudget
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- 全割込み禁止時間バジェット(単位:秒)
OsIsrExecutionBudget
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrExecutionBudget
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- C2ISR実行時間バジェット(単位:秒)
OsIsrOsInterruptLockBudget
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrOsInterruptLockBudget
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- OS割込み禁止バジェット(単位:秒)
OsIsrTimeFrame
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrTimeFrame
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- ISRタイムフレーム(単位:秒)
OsIsrResourceLock
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrResourceLock
- 型:Container
- 多重度:0..*
- ISRのリソース占有時間バジェット設定コンテナ
OsIsrResourceLockBudget
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrResourceLock/OsIsrResourceLockBudget
- 型:FloatParam
- 多重度:1
- 上限値:Inf
- 下限値:0
- リソース占有時間バジェット(単位:秒)
OsIsrResourceLockResourceRef
/AUTOSAR/EcucDefs/Os/OsIsr/OsIsrTimingProtection/OsIsrResourceLock/OsIsrResourceLockResourceRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsResource
- リソース占有時間バジェットを監視するリソース
OsOS
/AUTOSAR/EcucDefs/Os/OsOS
- 型:Container
- 多重度:1
- OS設定コンテナ
OsNumberOfCores
/AUTOSAR/EcucDefs/Os/OsOS/OsNumberOfCores
- 型:IntegerParam
- 多重度:0..1
- 上限値:65535
- 下限値:1
- 複数のコアの中で、どのコアがマスタコアかを指定するコンテナが存在しない
- ComなどのBSWはマスタコアでしか使用できないため、RTEジェネレータがマスタコア/スレーブコアの判別ができない問題がある
- TOPPERS/ATK2では、
/AUTOSAR/EcucDefs/Os/OsOS/OsMasterCoreId
を新設している
- 本OSを起動するコア数の最大値
OsScalabilityClass
/AUTOSAR/EcucDefs/Os/OsOS/OsScalabilityClass
- 型:EnumerationParam
- 多重度:0..1
- 選択肢:
- SC1:スケーラビリティクラス1
- SC2:スケーラビリティクラス2(タイミング保護)
- SC3:スケーラビリティクラス3(メモリ保護)
- SC4:スケーラビリティクラス4(タイミング保護+メモリ保護)
- スケーラビリティクラス
- 本パラメータが省略された場合、実装定義のデフォルト値が選択される
OsStackMonitoring
/AUTOSAR/EcucDefs/Os/OsOS/OsStackMonitoring
- 型:BooleanParam
- 多重度:1
- スタックモニタリングの使用有無
OsStatus
/AUTOSAR/EcucDefs/Os/OsOS/OsStatus
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- EXTENDED:標準エラーのみ検出
- STANDARD:標準エラーと拡張エラーを検出
- エラーコード種別の指定
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
- デフォルト値:true
- 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
- 多重度:1
- 選択肢:
- INTERNAL:標準リソース
- LINKED:リンクリソース
- STANDARD:内部リソース
- リソース種別
OsResourceAccessingApplication
/AUTOSAR/EcucDefs/Os/OsResource/OsResourceAccessingApplication
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
- リソースにアクセス可能なOSAP
OsResourceLinkedResourceRef
/AUTOSAR/EcucDefs/Os/OsResource/OsResourceLinkedResourceRef
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsResource
- リンクリソースにおけるリンク先リソース
OsScheduleTable
/AUTOSAR/EcucDefs/Os/OsScheduleTable
- 型:Container
- 多重度:0..*
- スケジュールテーブルオブジェクトコンテナ
OsScheduleTableDuration
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableDuration
- 型:IntegerParam
- 多重度:1
- 上限値:18446744073709551615
- 下限値:0
- スケジュールテーブル周期(ティック数)
OsScheduleTableRepeating
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableRepeating
- 型:BooleanParam
- 多重度:1
- スケジュールテーブルの繰り返し指定
OsSchTblAccessingApplication
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsSchTblAccessingApplication
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
- スケジュールテーブルにアクセス可能なOSAP
OsScheduleTableCounterRef
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableCounterRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsCounter
- スケジュールテーブルに接続するカウンタ
OsScheduleTableAutostart
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableAutostart
- 型:Container
- 多重度:0..1
- スケジュールテーブル自動起動設定コンテナ
OsScheduleTableAutostartType
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableAutostart/OsScheduleTableAutostartType
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- ABSOLUTE:ティックの絶対値で自動起動する
- RELATIVE:ティックの相対値で自動起動する
- SYNCHRON:同期待ち状態で自動起動する
- 自動起動種別の指定
OsScheduleTableStartValue
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableAutostart/OsScheduleTableStartValue
- 型:IntegerParam
- 多重度:0..1
- 上限値:18446744073709551615
- 下限値:0
- OsScheduleTableAutostartTypeがABSOLUTEの場合、自動起動するスケジュールテーブルに対して設定するティックの絶対値として使用される
- OsScheduleTableAutostartTypeがRELATIVEの場合、自動起動するスケジュールテーブルに対して設定するティックの相対値として使用される
OsScheduleTableAppModeRef
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableAutostart/OsScheduleTableAppModeRef
- 型:Reference
- 多重度:1..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsAppMode
- 自動起動するアプリケーションモード
OsScheduleTableExpiryPoint
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint
- 型:Container
- 多重度:1..*
- スケジュールテーブル満了点設定コンテナ
OsScheduleTblExpPointOffset
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblExpPointOffset
- 型:IntegerParam
- 多重度:1
- 上限値:18446744073709551615
- 下限値:0
- スケジュールテーブル満了点オフセット(スケジュールテーブル先頭からのティック数)
OsScheduleTableEventSetting
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting
- 型:Container
- 多重度:0..*
- スケジュールテーブル満了点セットするイベントの設定コンテナ
OsScheduleTableSetEventRef
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting/OsScheduleTableSetEventRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsEvent
- 満了点アクションでセットするイベント
OsScheduleTableSetEventTaskRef
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableEventSetting/OsScheduleTableSetEventTaskRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsTask
- 満了点アクションでイベントをセットするタスク
OsScheduleTableTaskActivation
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableTaskActivation
- 型:Container
- 多重度:0..*
- スケジュールテーブル満了点で起動するタスクの設定コンテナ
OsScheduleTableActivateTaskRef
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTableTaskActivation/OsScheduleTableActivateTaskRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsTask
- 満了点アクションで起動するタスク
OsScheduleTblAdjustableExpPoint
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblAdjustableExpPoint
- 型:Container
- 多重度:0..1
- スケジュールテーブル満了点同期設定コンテナ
OsScheduleTableMaxLengthen
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblAdjustableExpPoint/OsScheduleTableMaxLengthen
- 型:IntegerParam
- 多重度:1
- 上限値:18446744073709551615
- 下限値:0
- 同期補正で満了点の遅延を伸ばしてもよい最大値(ティック数)
OsScheduleTableMaxShorten
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableExpiryPoint/OsScheduleTblAdjustableExpPoint/OsScheduleTableMaxShorten
- 型:IntegerParam
- 多重度:1
- 上限値:18446744073709551615
- 下限値:0
- 同期補正で満了点の遅延を縮めてもよい最大値(ティック数)
OsScheduleTableSync
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableSync
- 型:Container
- 多重度:0..1
- スケジュールテーブル同期設定コンテナ
- 本コンテナを省略した場合、同期なしスケジュールテーブルとなる
OsScheduleTblExplicitPrecision
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableSync/OsScheduleTblExplicitPrecision
- 型:IntegerParam
- 多重度:0..1
- 上限値:18446744073709551615
- 下限値:0
- スケジュールテーブルを同期状態とみなす最大差分(ティック数)
OsScheduleTblSyncStrategy
/AUTOSAR/EcucDefs/Os/OsScheduleTable/OsScheduleTableSync/OsScheduleTblSyncStrategy
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- EXPLICIT:明示同期
- IMPLICIT:暗黙同期
- NONE:同期なし
- デフォルト値:NONE
- スケジュールテーブルの同期方式
OsSpinlock
/AUTOSAR/EcucDefs/Os/OsSpinlock
- 型:Container
- 多重度:0..*
- スピンロックオブジェクトコンテナ
OsSpinlockLockMethod
/AUTOSAR/EcucDefs/Os/OsSpinlock/OsSpinlockLockMethod
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- LOCK_ALL_INTERRUPTS
- LOCK_CAT2_INTERRUPTS
- LOCK_NOTHING
- LOCK_WITH_RES_SCHEDULER
- デフォルト値:LOCK_NOTHING
OsSpinlockAccessingApplication
/AUTOSAR/EcucDefs/Os/OsSpinlock/OsSpinlockAccessingApplication
- 型:Reference
- 多重度:1..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
- スピンロックにアクセス可能なOSAP
OsSpinlockSuccessor
/AUTOSAR/EcucDefs/Os/OsSpinlock/OsSpinlockSuccessor
- 型:Reference
- 多重度:0..1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsSpinlock
- ネストして獲得可能なスピンロック指定
- 獲得するスピンロックの順に本パラメータを記述することで、スピンロック獲得順序を示すリストを管理し、チェックすることができる
OsTask
/AUTOSAR/EcucDefs/Os/OsTask
- 型:Container
- 多重度:0..*
- タスクオブジェクトコンテナ
OsTaskActivation
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskActivation
- 型:IntegerParam
- 多重度:1
- 上限値:4294967295
- 下限値:1
- 最大起動要求回数
OsTaskPriority
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskPriority
- 型:IntegerParam
- 多重度:1
- 上限値:4294967295
- 下限値:0
- タスク優先度
OsTaskSchedule
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskSchedule
- 型:EnumerationParam
- 多重度:1
- 選択肢:
- FULL:フルプリエンプティブスケジューリング
- NON:ノンプリエンプティブスケジューリング
- タスクのスケジューリングポリシ
OsTaskAccessingApplication
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskAccessingApplication
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
- タスクにアクセス可能なOSAP
OsTaskEventRef
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskEventRef
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsEvent
- タスクの持つイベント
OsTaskResourceRef
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskResourceRef
- 型:Reference
- 多重度:0..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsResource
- タスクが獲得するリソース
OsTaskAutostart
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskAutostart
- 型:Container
- 多重度:0..1
- タスクオブジェクトの自動起動指定コンテナ
OsTaskAppModeRef
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskAutostart/OsTaskAppModeRef
- 型:Reference
- 多重度:1..*
- 参照先:
/AUTOSAR/EcucDefs/Os/OsAppMode
- 自動起動するアプリケーションモード
OsTaskTimingProtection
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection
- 型:Container
- 多重度:0..1
- タスクオブジェクトタイミング保護設定コンテナ
OsTaskAllInterruptLockBudget
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskAllInterruptLockBudget
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- 全割込み禁止時間バジェット(単位:秒)
OsTaskExecutionBudget
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskExecutionBudget
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- タスク実行時間バジェット(単位:秒)
OsTaskOsInterruptLockBudget
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskOsInterruptLockBudget
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- OS割込み禁止バジェット(単位:秒)
OsTaskTimeFrame
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskTimeFrame
- 型:FloatParam
- 多重度:0..1
- 上限値:Inf
- 下限値:0
- タスクタイムフレーム(単位:秒)
OsTaskResourceLock
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskResourceLock
- 型:Container
- 多重度:0..*
- タスクのリソース占有時間バジェット設定コンテナ
OsTaskResourceLockBudget
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskResourceLock/OsTaskResourceLockBudget
- 型:FloatParam
- 多重度:1
- 上限値:Inf
- 下限値:0
- リソース占有時間バジェット(単位:秒)
OsTaskResourceLockResourceRef
/AUTOSAR/EcucDefs/Os/OsTask/OsTaskTimingProtection/OsTaskResourceLock/OsTaskResourceLockResourceRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsResource
- リソース占有時間バジェットを監視するリソース
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
- 上限値:4294967295
- 下限値:0
- 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
- 上限値:255
- 下限値:0
- 生成される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
- 多重度:
- R4.0.3:1
- R4.2.2:1..*
- レシーバ情報コンテナ
OsIocFunctionImplementationKind
/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocReceiverProperties/OsIocFunctionImplementationKind
- 型:EnumerationParam
- 多重度:0..1
- 選択肢:
- DO_NOT_CARE:指定しない
- FUNCTION:関数
- MACRO:マクロ
- デフォルト値:DO_NOT_CARE
- IOC用システムサービスの実装方法の選択
OsIocReceiverPullCB
/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocReceiverProperties/OsIocReceiverPullCB
- 型:FunctionName
- 多重度:0..1
- IOCによるデータ受信時に呼び出すコールバック
OsIocReceivingOsApplicationRef
/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocReceiverProperties/OsIocReceivingOsApplicationRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
- レシーバが所属する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
- 多重度:0..1
- 選択肢:
- DO_NOT_CARE:指定しない
- FUNCTION:関数
- MACRO:マクロ
- デフォルト値:DO_NOT_CARE
- IOC用システムサービスの実装方法の選択
OsIocSenderId
/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocSenderProperties/OsIocSenderId
- 型:IntegerParam
- 多重度:0..1
- 上限値:255
- 下限値:0
- N:1通信時におけるセンダID
OsIocSendingOsApplicationRef
/AUTOSAR/EcucDefs/Os/OsIoc/OsIocCommunication/OsIocSenderProperties/OsIocSendingOsApplicationRef
- 型:Reference
- 多重度:1
- 参照先:
/AUTOSAR/EcucDefs/Os/OsApplication
- センダが所属するOSAP
Note:
See TracWiki
for help on using the wiki.