stm32 esp8266 ota升级-qt bin文件处理工具

stm32 esp8266 ota系列文章:
stm32 esp8266 ota-快速搭建web服务器之docker安装openresty
stm32 esp8266 ota升级-tcp模拟http
stm32 esp8266 ota升级-hex合并-烧录-bin生成
stm32 esp8266 ota升级-qt bin文件处理工具
stm32 esp8266 ota升级-自建mqtt和文件服务器动态AB面方式
stm32 esp8266 ota升级-自建mqtt和文件服务器全量升级

stm32 esp8266 ota升级-qt bin文件处理工具

本文主要介绍qt实现对bin文件每隔固定字节插入crc校验,进而用于后期ota升级。无有具体OTA代码讲解!!!

qt安装

请参考https://blog.csdn.net/weixin_46386047/article/details/125268144 博文,感谢博主分享;

qt使用

请参考https://xcc-2022.blog.csdn.net/article/details/127611678?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-127611678-blog-120595809.pc_relevant_recovery_v2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-127611678-blog-120595809.pc_relevant_recovery_v2&utm_relevant_index=6博文,感谢博主分享;

说明:边学边做,根据所学知识能够独立完成所需功能即可。

软件功能

界面

image-20221227140222088

功能

校验字节数:每隔多少字节,进行crc校验,并将crc校验值插入其后。

校验算法:使用crc进行校验,支持CRC_8_MAXIM,CRC_16_MODBUS和CRC_32三种,默认CRC_16_MODBUS。

原文件:待处理的bin文件。

目标文件:crc校验插值处理后保存的文件。

生成 -> 点击进行crc校验处理,并生成校验文件。

主要实现

获取字节数,算法,文件路径

  // 获取处理的每包字节数
  qint32 package_size = ui->crcByteEdit->text().toInt();
  // 获取文件路径
  QString readfilePath = ui->srcEdit->text();
  // 文件保存路径
  QString writefilePath = ui->destEdit->text();
  // crc校验算法
  QString comboBox_crc = ui->comboBox_crc->currentText();
  qint8 comBoxIndex = ui->comboBox_crc->currentIndex();

读取bin文件,获取文件信息,然后计算需要处理的包数及最后一包实际字节个数。

image-20221227141139820

首先,对每包数据进行crc校验(除最后一包),然后写入到文件
image-20221227141603945

处理最后一包数据,然后写入到文件

image-20221227141810807

最后生成处理后的bin文件,通过对比可以看到,每隔512字节增加了2字节的crc16校验数据。

image-20221226182025665

总结

qt对bin文件处理,简单来说:读取bin文件–>分包计算crc–>追加保存到文件。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心之雅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值