モデルベース開発

事例

【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)を物理層と想定。
事例

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

XCP Basicを入手方法。Vector社のサイトから入手。インストール。最初にEULAが出てくる。インストール先にはXCP Basicのソースコードが展開されるので好きなところでOK。ビルド環境は恒例のVisual Studio 2017 express。Virtual CAN Busのインストール。
事例

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

XCP Basic動作までの方針を決めた。数点、要否が確定できない作業があるが、実際に確認してみてから決める。実験構成を提示。CANの制御はPython-CANを使用。単純な送受信であればお手軽。恒例のVirtual CAN Busを使用。物理的な制約を一旦無視して論理的な正しさを求める場合はこれが一番楽。
事例

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

プロプライエタリ品との差別化のためXCP Basicには機能制限がある。XcpBasic.cに機能制限について記載されている。特に大きいのがSTIM使用不可。STIM使用不可に関してはDOWNLOADで代替可能。ただし、スループットはどうしても落ちる。とりあえずの落としどころとしてやむを得ず。
事例

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

XCPのシミュレーション環境が欲しい。候補としてはVector社で無償で公開されているXCP basicがある。XCP basicはEULAとしてはVector社の責が無いことを前提に自由にして良い。サポートが必要な場合は有償。XCP ProfessionalやMICROSAR XCPというプロプライエタリ品もある。