KEI

事例

【仮想ECU】最小構成のMBD事例 第2章 その210【PID制御①】

仮想ECUを作るべくAUTOSAR-XCPに制御器を組み込む必要がある。 PID制御器は過去記事で作ったものを流用予定。 制御周期はとりあえず、10msあたりにしておく。 PID制御器の動作確認はXCP経由で入出力を制御することで実施する予定。 PID制御器自体のソースコードは以前、SILS等で確認済み。
事例

【XCP】最小構成のMBD事例 第2章 その209【AUTOSAR⑮】

AUTOSAR-XCPのSTIMの気になる点がある。 STIMパケットに対してRESパケットが発行されている点。 仕様書上は、RESパケット応答に関する振る舞いは明記されていなかった。 恐らくデファクトスタンダード的な仕様が紛れている。 上記は何が正しいというのは恐らくない。 こういうものがあるということに気を付ける。
事例

【XCP】最小構成のMBD事例 第2章 その208【AUTOSAR⑭】

ついにAUTOSAR-XCPでSTIMを実現。 SET_MTA,DOWNLOADで実現していたコードを改修。 若干、遅れがあるように見えたが、CAN回線ログと比較した感じだと、全に正しい結果となっている。 思った以上の成果と言える。 フクさんが一点気になることがあるらしい。 これは次回説明予定。
事例

【XCP】最小構成のMBD事例 第2章 その207【AUTOSAR⑬】

AUTOSAR-XCPのDAQ listモード設定コマンドの動作確認実施。 SET_DAQ_LIST_MODEを実施。 STIM側はTimeStampFieldは不要なので削除指定。 さらにRAM値への更新速度を上げるため1ms周期。 START_STOP_DAQ_LISTを実施。
事例

【XCP】最小構成のMBD事例 第2章 その206【AUTOSAR⑫】

AUTOSAR-XCPのDAQ設定系コマンドの動作確認。FREE_DAQ、ALLOC_DAQ、ALLOC_ODT、ALLOC_ODT_ENTRYを一気に確認。ODT_ENTRYへの書き込み実施。SET_DAQ_PTR、WRITE_DAQを確認。この段階のDAQ listはDAQかSTIMかの利用方法の指定はしていない。
事例

【XCP】最小構成のMBD事例 第2章 その205【AUTOSAR⑪】

AUTOSAR-XCPのメモリアクセス系コマンドの動作確認を実施。 今回も一気にSET_MTA、DOWNLOAD、UPLOADを確認。 最後UPLAODでverifyして想定される値が書き込まれていたのでOK。 念のためCAN回線ログも確認。 次回からDAQ関連に突入。
事例

【XCP】最小構成のMBD事例 第2章 その204【AUTOSAR⑩】

AUTOSAR-XCPの動作確認開始。 XCPコマンドはPyXCPを使って実施。 XCP Basic、PyXCPで散々やったところなので巻き気味で推進。 一気にCONNECT、GET_STATUS、SYNCH、GET_COMM_MODE_INFOを実施。 当然ながら問題無く動作。 CAN回線ログも一緒に確認。
事例

【XCP】最小構成のMBD事例 第2章 その203【AUTOSAR⑨】

Xcp_Cfg.cの作成したコードを確認。 DAQ、STIMで使うイベントチャンネルの定義がほとんど。 Online Calibrationで使用されるSegmentについても記載するパラメータがある。 アクセスするメモリ空間を疑似的に切り替える概念を実現。 今回は使用しないので、そういう概念があるのを認識程度に留める。
事例

【XCP】最小構成のMBD事例 第2章 その202【AUTOSAR⑧】

AUTOSAR-XCPのコンフィグレーションはREADME.txtに説明あり。 Xcp_Cfg.hとXcp_Cfg.cを作成する必要あり。 Xcp_Cfg.hを作成。 README.txtに記載が無かった項目として以下がある。 XCP_PROTOCOL。 XCP_STANDALONE。 BYTE_ORDER。
事例

【XCP】最小構成のMBD事例 第2章 その201【AUTOSAR⑦】

CanIfとかAUTOSAR-XCPから呼び出される関数群の辻褄合わせをmain.cで実施。 送信関数と送信完了割り込み、受信割り込み、エラー割り込み。 排他制御関数。 エラー通知関数。 main関数で初期化処理関連を実施。 これでやっとビルドが通った状態となる。