当前位置: 首页 > news >正文

网站模版购买装饰设计属于什么行业

网站模版购买,装饰设计属于什么行业,平台网站建设公司哪家好,wordpress 创建栏目硬件CRC配置 以及软硬件CRC速度对比 使用CUBEMX配置默认使用的是CRC32,从库中可以看出这一点 HAL库提供了以下两个计算函数 HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength); 这个函数用于在已有的CRC校验结果的基础上累积…

硬件CRC配置 以及软硬件CRC速度对比

image-20231223161925821

使用CUBEMX配置默认使用的是CRC32,从库中可以看出这一点

image-20231223162013619

image-20231223162053295

HAL库提供了以下两个计算函数

image-20231223162239058

  • HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength);

    这个函数用于在已有的CRC校验结果的基础上累积(accumulate)新的数据块。如果你需要分多次处理数据,比如将数据分成几个块,然后分别进行CRC计算,最后将这些计算结果合并,就可以使用这个函数。

  • HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength);

    这个函数用于对给定的数据块进行一次完整的CRC计算。如果你有整个数据块,并且想要一次性计算CRC,那么可以使用这个函数。

CRC16配置参考:
LINK

软件CRC32

#define CRC32_POLYNOMIAL 0xEDB88320u
//传入参数:                   数据首地址     数据大小
static uint32_t calculate_crc32(const void *data, size_t size) {const uint8_t *byteData = (const uint8_t *)data;uint32_t crc = 0xFFFFFFFFu;for (size_t i = 0; i < size; ++i) {crc ^= byteData[i];for (int j = 0; j < 8; ++j) {crc = (crc >> 1) ^ ((crc & 1) ? CRC32_POLYNOMIAL : 0);}}return ~crc;
}

软硬件测速对比:

平台使用STM32H7,内存使用外扩的SDRAM

对比方法

  • 使用同一块内存区域校验软硬件CRC32,校验前后IO电平翻转,示波器捕获,该方法比较精确

    static int crc32(int argc, char **argv) {if (argc != 3) {fprintf(stderr, "Usage: crc32 <start_address> <size_in_bytes>\r\n");return 1;  // 返回错误码}// 从命令行参数中获取起始地址和大小uint32_t dataStartAddress;size_t dataSizeInBytes;if (sscanf(argv[1], "%x", &dataStartAddress) != 1) {fprintf(stderr, "Invalid start address\r\n");return 1;}if (sscanf(argv[2], "%zu", &dataSizeInBytes) != 1) {fprintf(stderr, "Invalid size\r\n");return 1;}HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET);// 硬件 CRC32size_t hard_crc32Result = HAL_CRC_Calculate(&hcrc,( void *)dataStartAddress,dataSizeInBytes);hard_crc32Result ^= 0xffffffffU;HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);HAL_Delay(10);HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET);// 软件 CRC32size_t soft_crc32Result = calculate_crc32((const void *)dataStartAddress, dataSizeInBytes);HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET);// 输出计算得到的 CRC32 值printf("hard_crc32Result: 0x%x\r\n", hard_crc32Result);printf("soft_crc32Result: 0x%x\r\n", soft_crc32Result);return 0;  // 返回成功码
    }
    

    主要部分

    image-20231223163424233

    128K数据测试结果:

    image-20231223165128463

    image-20231223164425382

    • 硬件测速在6ms左右
    • 软件测速在25ms左右

2M数据测试结构

image-20231223165224031

image-20231223170238833

  • 硬件在100ms左右
  • 软件在410ms左右

总结:

  • 对比结果硬件CRC32比软件CRC32快4倍左右
http://www.yayakq.cn/news/492367/

相关文章:

  • 网站搭建php源码百度右边相关网站
  • 做配资 怎么在网站联系客户电子商务与网站建设的报告
  • 可以兼职做翻译的网站或app一个网站需要多少空间
  • 网站 安全 维护前端开发入门视频教程
  • 网站建设策划书论文wordpress免登录发布模块接口
  • 深圳设计网站多少钱天元建设集团有限公司简介
  • 影视网站建设源码上海网站建设科技公司
  • 杭州视频网站建设电商插件 wordpress
  • 个人网站如何在百度上做推广无锡住房和城乡建设局网站
  • 建设一个自己的网站需要多少钱如何做阿里巴巴的网站首页
  • 网站推广商品怎么做效果最好用七牛做网站
  • 网站服务器租用还是托管呢德州做网站最好的公司
  • 国字型网站建设布局网站制作建设是做什么
  • 西安最好的网站建设公司网站域名怎么改
  • wordpress双站 中英文陕西西乡网站建设
  • 张家港早晨网站制作国外比较好的建筑设计网站
  • 任丘网站建设公司网站上线后想修改
  • 百科网站开发手工灯笼简单又好看
  • wordpress打印功能结构优化是什么意思
  • 通州网站建设多少钱做网站找顺的
  • 电商直播平台网站开发山西建设工程备案网站
  • 凡科建站自助建站平台公司怎么做网站页面
  • 网站开发类的合同佛山网站优化什么价格
  • 网站改版做301重定向现如今网站开发用什么框架
  • 河南郑州创建网站公司可以直接观看的网站正能量
  • 梅州市住房和城乡建设局官网网站如何做一名优秀的网站管理者
  • 一个公司网站开发多少钱一小时赚8000元的游戏
  • 宁波市政务网站建设和管理标准网站建设及第三方支付
  • iis架设网站教程互联网 网站建设
  • 驾校网站制作wordpress数据接口