KEI

事例

【XCP】最小構成のMBD事例 第2章 その162【XCP Basic⑯】

UPLOAD系コマンドの実験開始。 UPLOADコマンドが基本形のコマンドでその派生形としてSHORT_UPLOADがあるが、SHORT_UPLOADのとある挙動を確認するためにSHORT_UPLOADから実施。 SHORT_UPLOADでDOWNLOADで書き込んだ値が読めた。 よって、両コマンド共に動作OKとなる。
事例

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

DOWNLOADコマンドを実施。 正常応答あり。 実際に書き込まれたかはUPLOAD系コマンド実験時に確認予定。 DOWNLOAD_MAXコマンド実施 MTAは読み書き時にそのサイズ分参照アドレスが後方にズレる。 C言語のポインタ的な仕様。 MAX_CTO(今回の場合は8)-1分のサイズが無条件に書き込みサイズになる。
事例

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

XCP Basicがサポートしているメモリアクセス系コマンドを列挙。 SET_MTA。 DOWNLOAD。 DOWNLOAD_MAX。 SHORT_UPLOAD。 UPLOAD。 Python-CAN初期化とCONNECTコマンドを発行してからSET_MTAコマンド発行。 正常応答あり。
事例

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

xcp_cfg.hについかしたXCP_ENABLE_MEM_ACCESS_BY_APPLのdefine定義について説明。 XCP経由のメモリアクセスが直接アクセスからフック関数を経由する状態に切り替わる。 ecu.cの修正。 アクセス用の配列を定義。 メモリアクセス用フック関数の定義と実装。
事例

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

xcp_cfg.hの修正は以下のdefine定義を追加するだけ。 XCP_ENABLE_CALIBRATION。 XCP_ENABLE_MEM_ACCESS_BY_APPL。 XCP_ENABLE_CALIBRATIONはDOWNLOADとDOWNLOAD_MAXが有効になる。 SHORT_DOWNLOAD等は使用不可。
事例

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

PCシミュレーションの場合、XCP Basicでメモリアクセス系コマンドを実施には課題がある。 各変数のアドレスが起動毎に変わる可能性あり。 よって、以下のどちらかが必要。(後者を採用) 変数のアドレスをファイル出力して、XCPマスタからアクセス毎にファイル参照。 配列定義して配列先頭を0アドレスとする。
事例

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

XCP BasicにGET_STATUSコマンドを送ってみた。 問題無く応答あり。 次にSYNCコマンドを送ってみた。 応答があったがエラー応答? 実は「コマンドプロセッサの同期。」を示す0x00というエラーコードで通常応答になる。 メモリ非依存のコマンド確認は取れた状態。
事例

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

とりあえずXCP Basicのテスト用にメモリアクセスに絡まない以下のコマンドを送ってみる。 CONNECT。 GET_STATUS。 SYNC。 コマンドの送信はPythonの対話モードかJupyter Notebookで実施。まずはCONNECTコマンドを送信。無事送信&受信できた。他のコマンドも同様に試してみる。
事例

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

XCP BasicのVisual Studio 2015から2017へのアップグレードは特に何もなかった。ビルドを実施。warningは出ているが、sscanfをsscanf_sにする話。起動オプションがある。XCPsim -hでヘルプを参照可能。デフォルトはCANでオプションでEthernetへの切り替えもできる。
事例

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

XCP Basicのフォルダ構成を確認。 ドキュメント、EULA、Sample、XCP Basicハード非依存コードなどが配置されている。 Sampleに各物理層のポーティングコードが入っている。 XCPsimがPCシミュレーションを想定。 Ethernet(TCP/UDP)かCAN(VN16xx)を物理層と想定。