CRC Evaluation using direct memory addressing

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

CRC Evaluation using direct memory addressing

948 次查看
embedded_dan73
Contributor I

Hello all.

I'm working with S32K358 MCU, MBD Toolbox v1.6.0 and Matlab R2024a.

I know that Crc module isn't supported by the toolbox, so I configured the .mex file of the project in order to generate the RTD configuration suitable for my application, including Crc module, and then I wrote a Matlab function in order to manually call, as custom code, the "Crc_SetChannelCalculate" function.

This works fine and I can evaluate correctlty the CRC over a data streaming like an array.

Now what I would like to do is to evaluate the CRC on an area of memory, using directly the memory address as data input. If I write the code "manually" using S32DS IDE (outside Matlab), the code looks like this:

//--- code start

uint32 CrcResult;

uint8 *data;

data = (uint8 *)0x40A1F0; //arbitrary address chosen for starting calculation

CrcResult = Crc_SetChannelCalculate(CRC_LOGIC_CHANNEL_2, data, 16, 0, TRUE);

//in this way I calculate the CRC of 16 byte, with starting value = 0, read directly in flash starting from address 0x40A1F0

//---

Of course, before this, I initialized the logic channel CRC_LOGIC_CHANNEL_2 with the properties suitable for my application.

This code works fine but I'm not able to "translate" it on Matlab, because I didn't find a suitable way for make a direct memory addressing (and, if I'm not wrong, Matlab doesn't support this possibility).

I would please ask you if someone has an idea on how to face this matter.

Thansk in advance for your help and support.

 

Daniel

 

 

0 项奖励
回复
0 回复数
%3CLINGO-SUB%20id%3D%22lingo-sub-2266820%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%BF%E7%94%A8%E7%9B%B4%E6%8E%A5%E5%86%85%E5%AD%98%E5%AF%BB%E5%9D%80%E8%BF%9B%E8%A1%8C%20CRC%20%E8%AF%84%E4%BC%B0%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2266820%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%A4%A7%E5%AE%B6%E5%A5%BD%3C%2FP%3E%3CP%3E%E6%88%91%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20S32K358%20MCU%E3%80%81MBD%20Toolbox%20v1.6.0%20%E5%92%8C%20Matlab%20R2024a%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E7%9F%A5%E9%81%93%E5%B7%A5%E5%85%B7%E7%AE%B1%E4%B8%8D%E6%94%AF%E6%8C%81%20Crc%20%E6%A8%A1%E5%9D%97%EF%BC%8C%E6%89%80%E4%BB%A5%E6%88%91%E9%85%8D%E7%BD%AE%E4%BA%86%20.mex%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E7%BC%96%E5%86%99%E4%BA%86%E4%B8%80%E4%B8%AA%20Matlab%20%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BB%A5%E4%BE%BF%E4%BD%9C%E4%B8%BA%E8%87%AA%E5%AE%9A%E4%B9%89%E4%BB%A3%E7%A0%81%E6%89%8B%E5%8A%A8%E8%B0%83%E7%94%A8%22Crc_SetChannelCalculate%22%20%E5%87%BD%E6%95%B0%E3%80%82%3C%2FP%3E%3CP%3E%E8%BF%99%E6%A0%B7%E5%81%9A%E6%95%88%E6%9E%9C%E5%BE%88%E5%A5%BD%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E6%AD%A3%E7%A1%AE%E8%AF%84%E4%BC%B0%E6%95%B0%E7%BB%84%E7%AD%89%E6%95%B0%E6%8D%AE%E6%B5%81%E7%9A%84%20CRC%E3%80%82%3C%2FP%3E%3CP%3E%E7%8E%B0%E5%9C%A8%E6%88%91%E6%83%B3%E5%81%9A%E7%9A%84%E6%98%AF%EF%BC%8C%E7%9B%B4%E6%8E%A5%E4%BD%BF%E7%94%A8%E5%86%85%E5%AD%98%E5%9C%B0%E5%9D%80%E4%BD%9C%E4%B8%BA%E6%95%B0%E6%8D%AE%E8%BE%93%E5%85%A5%EF%BC%8C%E5%AF%B9%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F%E8%BF%9B%E8%A1%8C%20CRC%20%E8%AF%84%E4%BC%B0%E3%80%82%E5%A6%82%E6%9E%9C%E6%88%91%E4%BD%BF%E7%94%A8%20S32DS%20IDE%EF%BC%88%E5%9C%A8%20Matlab%20%E4%B9%8B%E5%A4%96%EF%BC%89%E6%89%8B%E5%8A%A8%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81%22%22%20%EF%BC%8C%E4%BB%A3%E7%A0%81%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%83%8F%E8%BF%99%E6%A0%B7%EF%BC%9A%3C%2FP%3E%3CP%3E%2F%2F---%20%E4%BB%A3%E7%A0%81%E5%BC%80%E5%A7%8B%3C%2FP%3E%3CP%3Euint32%20CrcResult%EF%BC%9B%3C%2FP%3E%3CP%3Euint8%20*data%EF%BC%9B%3C%2FP%3E%3CP%3Edata%20%3D%20(uint8%20*)0x40A1F0%3B%20%2F%2F%20%E4%B8%BA%E5%BC%80%E5%A7%8B%E8%AE%A1%E7%AE%97%E8%80%8C%E9%80%89%E6%8B%A9%E7%9A%84%E4%BB%BB%E6%84%8F%E5%9C%B0%E5%9D%80%3C%2FP%3E%3CP%3ECrcResult%20%3D%20Crc_SetChannelCalculate(CRC_LOGIC_CHANNEL_2%2C%20data%2C%2016%2C%200%2C%20TRUE)%EF%BC%9B%3C%2FP%3E%3CP%3E%2F%2F%E7%94%A8%E8%BF%99%E7%A7%8D%E6%96%B9%E5%BC%8F%E6%88%91%E8%AE%A1%E7%AE%97%2016%20%E5%AD%97%E8%8A%82%E7%9A%84%20CRC%EF%BC%8C%E8%B5%B7%E5%A7%8B%E5%80%BC%20%3D%200%EF%BC%8C%E7%9B%B4%E6%8E%A5%E4%BB%8E%E5%9C%B0%E5%9D%80%200x40a1f0%20%E5%BC%80%E5%A7%8B%E5%9C%A8%E9%97%AA%E5%AD%98%E4%B8%AD%E8%AF%BB%E5%8F%96%3C%2FP%3E%3CP%3E%2F%2F---%3C%2FP%3E%3CP%3E%E5%BD%93%E7%84%B6%EF%BC%8C%E5%9C%A8%E6%AD%A4%E4%B9%8B%E5%89%8D%EF%BC%8C%E6%88%91%E7%94%A8%E9%80%82%E5%90%88%E6%88%91%E7%9A%84%E5%BA%94%E7%94%A8%E7%9A%84%E5%B1%9E%E6%80%A7%E5%88%9D%E5%A7%8B%E5%8C%96%E4%BA%86%E9%80%BB%E8%BE%91%E9%80%9A%E9%81%93%20CRC_LOGIC_CHANNEL_2%E3%80%82%3C%2FP%3E%3CP%3E%E8%BF%99%E6%AE%B5%E4%BB%A3%E7%A0%81%E8%BF%90%E8%A1%8C%E8%89%AF%E5%A5%BD%EF%BC%8C%E4%BD%86%E6%88%91%E6%97%A0%E6%B3%95%E5%9C%A8%20Matlab%20%E4%B8%8A%E5%B7%B2%E7%BF%BB%E8%AF%91%20%22%20%E5%AE%83%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%88%91%E6%B2%A1%E6%9C%89%E6%89%BE%E5%88%B0%E5%90%88%E9%80%82%E7%9A%84%E6%96%B9%E6%B3%95%E6%9D%A5%E8%BF%9B%E8%A1%8C%E7%9B%B4%E6%8E%A5%E5%86%85%E5%AD%98%E5%AF%BB%E5%9D%80%EF%BC%88%E8%80%8C%E4%B8%94%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%88%91%E6%B2%A1%E9%94%99%E7%9A%84%E8%AF%9D%EF%BC%8CMatlab%20%E4%B8%8D%E6%94%AF%E6%8C%81%E8%BF%99%E7%A7%8D%E5%8F%AF%E8%83%BD%E6%80%A7%EF%BC%89%E3%80%82%22%3C%2FP%3E%3CP%3E%E8%AF%B7%E9%97%AE%E8%B0%81%E6%9C%89%E5%8A%9E%E6%B3%95%E8%A7%A3%E5%86%B3%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%B8%AE%E5%8A%A9%E5%92%8C%E6%94%AF%E6%8C%81%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E4%B8%B9%E5%B0%BC%E5%B0%94%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E