{{{ #!html
BSW Scheduler Module
}}} [[BR]] = 概要 = * API一覧 * "--"は未規定 ||= API =||= ID[[BR]][Dec] =||= ID[[BR]][Hex] =||= R4.0.3 =|| || [#SchM_Init SchM_Init] || 0|| 0x00|| ○ || || [#SchM_Deinit SchM_Deinit] || 1|| 0x01|| ○ || || [#SchM_GetVersionInfo SchM_GetVersionInfo] || 2|| 0x02|| ○ || || [#SchM_Enter SchM_Enter] || 3|| 0x03|| ○ || || [#SchM_Exit SchM_Exit] || 4|| 0x04|| ○ || || [#SchM_ActMainFunction SchM_ActMainFunction] || 5|| 0x05|| ○ || || [#SchM_Switch SchM_Switch] || 6|| 0x06|| ○ || || [#SchM_Mode SchM_Mode] || 7|| 0x07|| ○ || || [#SchM_SwitchAck SchM_SwitchAck] || 8|| 0x08|| ○ || || [#SchM_Trigger SchM_Trigger] || 9|| 0x09|| ○ || || [#SchM_CData SchM_CData] || --|| --|| ○ || * コンフィギュレーション一覧(R4.0.3) * [#RteBswGeneral RteBswGeneral] (○) * [#RteSchMVersionInfoApi RteSchMVersionInfoApi] (○) * [#RteUseComShadowSignalApi RteUseComShadowSignalApi] (○) * [#RteBswModuleInstance RteBswModuleInstance] (○) * [#RteBswImplementationRef RteBswImplementationRef] (○) * [#RteBswModuleConfigurationRef RteBswModuleConfigurationRef] (○) * [#RteBswEventToTaskMapping RteBswEventToTaskMapping] (○) * [#RteBswActivationOffset RteBswActivationOffset] (○) * [#RteBswImmediateRestart RteBswImmediateRestart] (○) * [#RteBswPositionInTask RteBswPositionInTask] (○) * [#RteOsSchedulePoint RteOsSchedulePoint] (○) * [#RteBswMappedToTaskRef RteBswMappedToTaskRef] (○) * [#RteBswUsedOsAlarmRef RteBswUsedOsAlarmRef] (○) * [#RteBswUsedOsEventRef RteBswUsedOsEventRef] (○) * [#RteBswUsedOsSchTblExpiryPointRef RteBswUsedOsSchTblExpiryPointRef] (○) * [#RteBswEventRef RteBswEventRef] (○) * [#RteBswExclusiveAreaImpl RteBswExclusiveAreaImpl] (○) * [#RteExclusiveAreaImplMechanism RteExclusiveAreaImplMechanism] (○) * [#RteBswExclusiveAreaOsResourceRef RteBswExclusiveAreaOsResourceRef] (○) * [#RteBswExclusiveAreaRef RteBswExclusiveAreaRef] (○) * [#RteBswExternalTriggerConfig RteBswExternalTriggerConfig] (○) * [#RteBswTriggerSourceQueueLength RteBswTriggerSourceQueueLength] (○) * [#RteBswTriggerSourceRef RteBswTriggerSourceRef] (○) * [#RteBswInternalTriggerConfig RteBswInternalTriggerConfig] (○) * [#RteBswTriggerSourceQueueLength RteBswTriggerSourceQueueLength] (○) * [#RteBswTriggerSourceRef RteBswTriggerSourceRef] (○) * [#RteBswRequiredModeGroupConnection RteBswRequiredModeGroupConnection] (○) * [#RteBswProvidedModeGrpModInstRef RteBswProvidedModeGrpModInstRef] (○) * [#RteBswProvidedModeGroupRef RteBswProvidedModeGroupRef] (○) * [#RteBswRequiredModeGroupRef RteBswRequiredModeGroupRef] (○) * [#RteBswRequiredTriggerConnection RteBswRequiredTriggerConnection] (○) * [#RteBswReleasedTriggerModInstRef RteBswReleasedTriggerModInstRef] (○) * [#RteBswReleasedTriggerRef RteBswReleasedTriggerRef] (○) * [#RteBswRequiredTriggerRef RteBswRequiredTriggerRef] (○) * エラーコード一覧 ||= エラーコード =||= 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_[__]_() }}} * 排他エリアに入場する * はBSWMディスクリプションのショートネーム * は排他エリアのショートネーム == SchM_Exit == {{{ void SchM_Exit_[__]_() }}} * 排他エリアから退場する * はBSWMディスクリプションのショートネーム * は排他エリアのショートネーム == SchM_ActMainFunction == {{{ void SchM_ActMainFunction_[__]_() Std_ReturnType SchM_ActMainFunction_[__]_() }}} == SchM_Switch == {{{ Std_ReturnType SchM_Switch_[__]_(IN ) }}} == SchM_Mode == {{{ SchM_Mode_[__]_() SchM_Mode_[__]_(OUT , OUT ) }}} == SchM_SwitchAck == {{{ Std_ReturnType SchM_SwitchAck_[__]_() }}} == SchM_Trigger == {{{ void SchM_Trigger_[__]_() }}} == SchM_CData == {{{ void SchM_CData_[__]_() }}} ---- = コンフィギュレーション仕様 = == 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