请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:RM48L952 您好!
我们开始使用 RM48的 CRC 生成器。 根据文档(关于 spnu503c - RM48x 技术参考手册的第14.1节)、它可以生成8、16、32和64个数据大小的数据压缩、我从中了解生成的 PSA 签名可以配置为8 、16、32和64位。
我们成功地使用 FULL_CPU_MODE (基于 spna235 -在 Hercules -基德微控制器上使用 CRC 模块)在 EMIF SDRAM 上生成一组数据的 CRC64、而不会出现任何问题
但是、我们的应用需要 CRC32、但我没有找到有关如何执行它的参考。
有人能告诉我哪里可以获得有关如何使用嵌入式 CRC 生成器生成 CRC32的信息?
当前使用的代码为:
uint64_t 计算 HWCrc64Signature (uint64_t * data、uint32_t len) { uint64_t return_value; crcModConfig_t CRC_param; crcConfig_t CRC_CONFIG; CRC_CONFIG.CRC_CHANNEL = CRC_CH1; CRC_CONFIG.MODE = CRC_FULL_CPU; crc_config.pcount = 0U;//所有计数器在完全 CPU 模式下被禁用*/ crc_config.scount = 0U;//所有计数器在完全 CPU 模式下被禁用*/ CRC_CONFIG.WDG_PRELOAD = 0U;//所有计数器在完全 CPU 模式下被禁用*/ CRC_CONFIG.BLOCK_PRELOAD = 0U;//所有计数器在完全 CPU 模式下被禁用*/ crcSetConfig (crcREG、&CRC_CONFIG); crc_param.crc_channel = crc_config.crc_channel; crc_param.mode = crc_config.mode; crc_param.src_data_pat =(uint64_t *) data; crc_param.data_length = len; crcChannelReset (crcREG、CRC_CH1); crcSignGen (crcREG、&CRC_param); return_value = crcGetPSASig (crcREG、CRC_CH1); 返回 return_value; }
以下线程仅提供补充功能、即可与 CRC16进行交易、到那时(2013)、这是不可能的。