STM32之软件CRC和硬件CRC速度测试

发布时间: 2024-03-28
来源: 电子工程世界

  一、测试条件

  硬件: STM32L432KC

  主频: 80MHz

  编译器: IAR 8.20.1

  编译选项: High Speed no size constraints

  CRC 生成多项式: 0x782f

  二、测试方法

  软件提前生成CRC表,用于查询。分别使用软件CRC算法和硬件CRC外设对一个缓存进行计算,目的是从该缓存中找到同步头。同步头共11字节,前两个字节为后九个字节的CRC校验值。通过迭代算法依次对11字节进行计算和比较,当找到同步头后返回同步头偏移量。通过时间比较两者之间的速度。

  三、测试结果

  迭代24464次后,从缓存中找到同步头。

  不开启编译时间优化时,软件算法用时238ms,硬件CRC用时220ms。

STM32之软件CRC和硬件CRC速度测试

  开启编译时间优化后,软件算法用时159ms,硬件CRC用时186ms。

 

STM32之软件CRC和硬件CRC速度测试

  四、附测试代码

STM32之软件CRC和硬件CRC速度测试


STM32之软件CRC和硬件CRC速度测试


STM32之软件CRC和硬件CRC速度测试


STM32之软件CRC和硬件CRC速度测试


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。