大家好
我使用的是 S32K358 MCU、MBD Toolbox v1.6.0 和 Matlab R2024a。
我知道工具箱不支持 Crc 模块,所以我配置了 .mex然后,我编写了一个 Matlab 函数,以便作为自定义代码手动调用"Crc_SetChannelCalculate" 函数。
这样做效果很好,我可以正确评估数组等数据流的 CRC。
现在我想做的是,直接使用内存地址作为数据输入,对内存区域进行 CRC 评估。如果我使用 S32DS IDE(在 Matlab 之外)手动编写代码"" ,代码看起来像这样:
//--- 代码开始
uint32 CrcResult;
uint8 *data;
data = (uint8 *)0x40A1F0; // 为开始计算而选择的任意地址
CrcResult = Crc_SetChannelCalculate(CRC_LOGIC_CHANNEL_2, data, 16, 0, TRUE);
//用这种方式我计算 16 字节的 CRC,起始值 = 0,直接从地址 0x40a1f0 开始在闪存中读取
//---
当然,在此之前,我用适合我的应用的属性初始化了逻辑通道 CRC_LOGIC_CHANNEL_2。
这段代码运行良好,但我无法在 Matlab 上已翻译 " 它,因为我没有找到合适的方法来进行直接内存寻址(而且,如果我没错的话,Matlab 不支持这种可能性)。"
请问谁有办法解决这个问题?
感谢您的帮助和支持。
丹尼尔