皆さんこんにちは。
私は S32K358 MCU、MBD Toolbox v1.6.0、Matlab R2024a を使用しています。
Crcモジュールはツールボックスではサポートされていないことがわかっているので、.mexを設定しました。プロジェクトのファイルを作成して、Crc モジュールを含む、アプリケーションに適した RTD 構成を生成し、次に、カスタム コードとして "Crc_SetChannelCalculate" 関数を手動で呼び出すための Matlab 関数を作成しました。
これは正常に動作し、配列のようなデータストリーミング上のCRCを正しく評価できます。
ここでやりたいのは、メモリ アドレスをデータ入力として直接使用して、メモリ領域の CRC を評価することです。S32DS IDEs (Matlab 外部) を使用してコードを「手動で」記述すると、コードは次のようになります。
//--- コード開始
uint32 CrcResult;
uint8 *データ;
data = (uint8 *)0x40A1F0; //計算開始時に選択された任意のアドレス
CrcResult = Crc_SetChannelCalculate(CRC_LOGIC_CHANNEL_2、データ、16、0、TRUE);
//この方法で、開始値 = 0 で 16 バイトの CRC を計算し、アドレス 0x40A1F0 からフラッシュに直接読み取ります。
//---
もちろん、その前に、アプリケーションに適したプロパティを使用してロジック チャネル CRC_LOGIC_CHANNEL_2 を初期化しました。
このコードは問題なく動作しますが、直接メモリ アドレス指定を行う適切な方法が見つからなかったため、Matlab で「変換」することができません (また、私が間違っていなければ、Matlab はこの可能性をサポートしていません)。
このマターにどう対処すべきか、誰かアイデアをお持ちの方がいらっしゃいましたら、お伺いしたいです。
ご協力とサポートをよろしくお願いいたします。
ダニエル