wiki:spec/SchM

Version 9 (modified by fujisft-shigihara, 4 years ago) ( diff )

--

BSW Scheduler Module


概要

  • API一覧
    • "--"は未規定
API ID
[Dec]
ID
[Hex]
R4.0.3
SchM_Init 0 0x00
SchM_Deinit 1 0x01
SchM_GetVersionInfo 2 0x02
SchM_Enter 3 0x03
SchM_Exit 4 0x04
SchM_ActMainFunction 5 0x05
SchM_Switch 6 0x06
SchM_Mode 7 0x07
SchM_SwitchAck 8 0x08
SchM_Trigger 9 0x09
SchM_CData -- --
  • エラーコード一覧
エラーコード Dec Hex R4.0.3
SCHM_E_OK 0 0x00
SCHM_E_LIMIT 130 0x82
SCHM_E_NO_DATA 131 0x83
SCHM_E_TRANSMIT_ACK 132 0x84
SCHM_E_IN_EXCLUSIVE_AREA 135 0x87
SCHM_E_TIMEOUT 129 0x81

API仕様

SchM_Init

void SchM_Init([SchM_ConfigType *ConfigPtr])

SchM_Deinit

void SchM_Deinit(void)

SchM_GetVersionInfo

void SchM_GetVersionInfo(Std_VersionInfoType *versioninfo)

SchM_Enter

void SchM_Enter_<bsnp>[_<vi>_<ai>]_<name>()
  • 排他エリアに入場する
  • <bsnp>はBSWMディスクリプションのショートネーム
  • <name>は排他エリアのショートネーム

SchM_Exit

void SchM_Exit_<bsnp>[_<vi>_<ai>]_<name>()
  • 排他エリアから退場する
  • <bsnp>はBSWMディスクリプションのショートネーム
  • <name>は排他エリアのショートネーム

SchM_ActMainFunction

void SchM_ActMainFunction_<bsnp>[_<vi>_<ai>]_<name>()
Std_ReturnType SchM_ActMainFunction_<bsnp>[_<vi>_<ai>]_<name>()

SchM_Switch

Std_ReturnType SchM_Switch_<bsnp>[_<vi>_<ai>]_<name>(IN <mode>)

SchM_Mode

<return> SchM_Mode_<bsnp>[_<vi>_<ai>]_<name>()
<return> SchM_Mode_<bsnp>[_<vi>_<ai>]_<name>(OUT <previousmode>, OUT <nextmode>)

SchM_SwitchAck

Std_ReturnType SchM_SwitchAck_<bsnp>[_<vi>_<ai>]_<name>()

SchM_Trigger

void SchM_Trigger_<bsnp>[_<vi>_<ai>]_<name>()

SchM_CData

void SchM_CData_<bsnp>[_<vi>_<ai>]_<name>()

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

RteBswGeneral

/AUTOSAR/EcucDefs/Rte/RteBswGeneral
  • 型:Container
  • 多重度:1
  • SchMの一般的なコンフィギュレーションパラメータを保持する

RteSchMVersionInfoApi

/AUTOSAR/EcucDefs/Rte/RteBswGeneral/RteSchMVersionInfoApi
  • 型:BooleanParam
  • 多重度:1

RteUseComShadowSignalApi

/AUTOSAR/EcucDefs/Rte/RteBswGeneral/RteUseComShadowSignalApi
  • 型:BooleanParam
  • 多重度:1
  • ComShadowSignal API(※)の使用有無
    • (※)Com_UpdateShadowSignal, Com_InvalidateShadowSignal, Com_ReceiveShadowSignal

RteBswModuleInstance

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance
  • 型:Container
  • 多重度:0..*
  • SchM生成に関するパラメータを保持する

RteBswImplementationRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswImplementationRef
  • 型:Reference
  • 多重度:1
  • BSW実装(BswImplementaion)

RteBswModuleConfigurationRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef
  • 型:Reference
  • 多重度:0..1

RteBswEventToTaskMapping

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping
  • 型:Container
  • 多重度:0..*
  • BSWイベント(およびSchMイベントから起動するBSWスケジューラブル)のOSタスクへのマッピング

RteBswActivationOffset

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswActivationOffset
  • 型:FloatParam
  • 多重度:0..1
  • BSWイベントの起動オフセット(単位:秒)

RteBswImmediateRestart

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart
  • 型:BooleanParam
  • 多重度:1

RteBswPositionInTask

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask
  • 型:IntegerParam
  • 多重度:0..1
  • タスク内のBSWスケジューラブルの実行順番

RteOsSchedulePoint

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteOsSchedulePoint
  • 型:EnumerationParam
  • 多重度:0..1

RteBswMappedToTaskRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef
  • 型:Reference
  • 多重度:0..1
  • BSWイベントのマッピング先のOSタスク

RteBswUsedOsAlarmRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef
  • 型:Reference
  • 多重度:0..1
  • BSWイベントのマッピング先OSタスクを起動するOSアラーム

RteBswUsedOsEventRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef
  • 型:Reference
  • 多重度:0..1
  • BSWイベントのマッピング先OSイベント

RteBswUsedOsSchTblExpiryPointRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsSchTblExpiryPointRef
  • 型:Reference
  • 多重度:0..1

RteBswEventRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef
  • 型:Reference
  • 多重度:1
  • コンフィギュレーション対象のBSWイベント

RteBswExclusiveAreaImpl

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl
  • 型:Container
  • 多重度:0..*
  • 排他エリアの実現メカニズム

RteExclusiveAreaImplMechanism

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism
  • 型:EnumerationParam
    • ALL_INTERRUPT_BLOCKING:全割込みの禁止
    • COOPERATIVE_RUNNABLE_PLACEMENT:協調ランナブル配置
    • OS_INTERRUPT_BLOCKING:OS割込みの禁止
    • OS_RESOURCE:OSリソースの獲得
  • 多重度:1
  • 排他エリアの実現メカニズム種別
  • TOPPERS/A-RTEGENでは、以下もサポートしている
    • OS_SPINLOCK:OSスピンロックの獲得
    • NONE:排他なし

RteBswExclusiveAreaOsResourceRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaOsResourceRef
  • 型:Reference
  • 多重度:0..1
  • 排他エリアの実現のために使用するOSリソース

RteBswExclusiveAreaRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef
  • 型:Reference
  • 多重度:1
  • コンフィギュレーション対象の排他エリア

RteBswExternalTriggerConfig

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswExternalTriggerConfig
  • 型:Container
  • 多重度:0..*

RteBswTriggerSourceQueueLength

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswExternalTriggerConfig/RteBswTriggerSourceQueueLength
  • 型:IntegerParam
  • 多重度:1

RteBswTriggerSourceRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswExternalTriggerConfig/RteBswTriggerSourceRef
  • 型:Reference
  • 多重度:1

RteBswInternalTriggerConfig

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswInternalTriggerConfig
  • 型:Container
  • 多重度:0..*

RteBswTriggerSourceQueueLength

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswInternalTriggerConfig/RteBswTriggerSourceQueueLength
  • 型:IntegerParam
  • 多重度:1

RteBswTriggerSourceRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswInternalTriggerConfig/RteBswTriggerSourceRef
  • 型:Reference
  • 多重度:1

RteBswRequiredModeGroupConnection

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswRequiredModeGroupConnection
  • 型:Container
  • 多重度:0..*
  • 要求モードグループと提供モードグループの接続

RteBswProvidedModeGrpModInstRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswRequiredModeGroupConnection/RteBswProvidedModeGrpModInstRef
  • 型:Reference
  • 多重度:1
  • 対象とするBSWモジュール

RteBswProvidedModeGroupRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswRequiredModeGroupConnection/RteBswProvidedModeGroupRef
  • 型:Reference
  • 多重度:1
  • 提供モードグループ

RteBswRequiredModeGroupRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswRequiredModeGroupConnection/RteBswRequiredModeGroupRef
  • 型:Reference
  • 多重度:1
  • モード宣言グループプロトタイプ

RteBswRequiredTriggerConnection

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswRequiredTriggerConnection
  • 型:Container
  • 多重度:0..*

RteBswReleasedTriggerModInstRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswRequiredTriggerConnection/RteBswReleasedTriggerModInstRef
  • 型:Reference
  • 多重度:1

RteBswReleasedTriggerRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswRequiredTriggerConnection/RteBswReleasedTriggerRef
  • 型:Reference
  • 多重度:1

RteBswRequiredTriggerRef

/AUTOSAR/EcucDefs/Rte/RteBswModuleInstance/RteBswRequiredTriggerConnection/RteBswRequiredTriggerRef
  • 型:Reference
  • 多重度:1
Note: See TracWiki for help on using the wiki.