事例 【XCP】最小構成のMBD事例 第2章 その200【AUTOSAR⑥】 AUTOSAR-XCPをビルドする上で排他同期等でWindowsAPIが必要となる。 しかしwindows.hが他の定義を競合することがある。 よってstub.cでラップ関数を定義して避けている。 マルチメディアタイマで1msコールバックを生成。 ECUの実装が1ms周期を起点に処理されることが多く、それを模擬してる。 2021.12.23 事例
事例 【XCP】最小構成のMBD事例 第2章 その199【AUTOSAR⑤】 AUTOSAR-XCPをGithubからCloneしてきてソースコードを確認。 とりあえず、全部使う。 AUTOSAR仕様として必要そうなソースとヘッダを洗い出し。 TOPPERSプロジェクトのA-ComStackとATK2から頂戴する。 足りないかもしれないが、まずはこれでビルドを通してみる。 2021.12.22 事例
事例 【XCP】最小構成のMBD事例 第2章 その198【AUTOSAR④】 AUTOSAR-XCP PCシミュレーションに向けてのロードマップを提示。 恒例の実験構成、環境、実験内容を提示。 実験構成の提示。 こちらもおなじみのVirtual CAN Busを使用した構成。 AUTOSAR-XCPのPCシミュレーション環境も恒例のVisual Studio 2017 express。 2021.12.21 事例
事例 【XCP】最小構成のMBD事例 第2章 その197【AUTOSAR③】 AUTOSAR-XCPの機能範囲について説明。 純粋にXCP BWSを実現しているのみ。 よって、下位BSWのCanIfを実装する必要がある。 CanIfは以前、診断通信関連BSWであるCanTpのシミュレーションをしたときに作成してる。 微調整はあるかもしれないが、これを使いまわす予定。 2021.12.20 事例
事例 【XCP】最小構成のMBD事例 第2章 その196【AUTOSAR②】 LGPLはライブラリ化すればライセンス汚染をある程度食い止められる。 しかし、完全に食い止められるわけではなくどうしてもリバースエンジニアリングを許容する条件は付く。 これは動的リンクであっても変わらない。 AUTOSARのXCP実装、STIMの実装を学べるという利点があるので、使ってみる方針で行く。 2021.12.19 事例
事例 【XCP】最小構成のMBD事例 第2章 その195【AUTOSAR①】 XCP Basicとは別のXCPスレーブIPを見つけてきた。 その名はAUTOSAR-XCP。 以前やったCanTp、DCMと同じくAUTOSAR-BSWのXCP仕様に準拠したもの。 ライセンスがLGPL。 よって、条件によってはコード開示が必要になり、商用利用としては難しく場合がある。 2021.12.18 事例
事例 【XCP】最小構成のMBD事例 第2章 その194【PyXCP⑯】 SET_MTAとDOWNLOAD以外のRAM書き換え方法はSTIM しかし、XCP BasicはSTIMは未対応。 XCP Basicに対してSTIM拡張をするかXCP Basic以外のXCPスレーブIPを探すか。 とりあえず後者の線でやってみる。 見つからなかったら諦めてSET_MTAとDOWNLOADで頑張る方向で。 2021.12.17 事例
事例 【XCP】最小構成のMBD事例 第2章 その193【PyXCP⑮】 XCP BasicとPyXCPは微妙だった?ってことはない。 計測やちょっとしたキャリブレーションであれば問題無く使える。 HILSもどきと相性が悪いだけ。 オーバーヘッドを検討。 15msはSET_MTAとDOWNLOADの2回のコマンド発行分。 ここを何とかすればもう少しマシになりそう。 2021.12.16 事例
事例 【XCP】最小構成のMBD事例 第2章 その192【PyXCP⑭】 DAQパケットを受信しながらSET_MTA、DOWNLOADのコマンド送信してみた。 一応動いた。 が、DAQパケットの吸い上げのリアルタイム性が若干悪い。 20~30[ms]程度の遅れがある。 Pythonでやる以上、やむを得ない問題ではあるが、もう少し手が無いか考える必要はありそう。 2021.12.15 事例
事例 【XCP】最小構成のMBD事例 第2章 その191【PyXCP⑬】 PyXCPでDAQパケットを受信しながらSET_MTA、DOWNLOADのコマンド送信を行う実験。 XCP Basic側は問題なくできることは分かってるのでPyXCP側メインの実験。 一応PyXCP内コード的には大丈夫そう。 実験コードはDAPパケット受信ループ内で0.05秒周期でSET_MTA、DOWNLOAD発行。 2021.12.14 事例