wjppppppp111111 2023-05-16 10:42 采纳率: 25%
浏览 37

OTA远程升级跳转失败

请教,这边有使用过OTA远程升级吗? 我这边遇到点问题想请教一下,我这边是将bin文件通过服务器转换成16进制后使用JSON包分批次发到单片机,其中有CRC校验,接收后存入FLASH,每次烧入flash字节为360,但跳转进去新程序后就卡死,跳转地址是更改过的,包括bin文件内的中断向量表也更改过偏移量,bin文件烧入FLASH后读取出来的16进制数据和使用kile烧入后的16进制数据进行过对比也是一致的,就是不明白为啥跳转进去就卡死,是少了什么操作吗,用的STM32F407VGT6的板子。

  • 写回答

3条回答 默认 最新

  • 盒子里的加菲猫 2023-05-16 11:03
    关注

    从你提供的信息来看,可能有以下几个原因导致你的OTA远程升级出现问题:

    1、CRC校验错误:你提到了你在发送数据时使用了CRC校验,但如果校验失败,可能会导致数据损坏或丢失。因此,你需要确保CRC校验算法和校验参数设置正确,并在接收数据时进行校验,以确保数据的完整性。

    2、中断向量表偏移量设置错误:你提到你更改了bin文件内的中断向量表偏移量,如果设置不正确,可能会导致程序跳转到错误的中断向量表地址,从而导致程序卡死。在更改偏移量前,请确保你已经了解了中断向量表的结构和相关内容。

    3、程序代码有误:如果程序代码有错误,也可能会导致程序卡死。你可以使用调试工具或打印调试信息来进行调试,以找出问题所在。

    4、数据发送或接收出现问题:如果数据在发送或接收过程中出现了问题,也可能会导致程序卡死。你可以使用调试工具或打印调试信息来进行调试,以找出问题所在。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月16日

悬赏问题

  • ¥15 有关类的报错,在模块里调用另一个模块的方法下的变量时出错
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格
  • ¥15 kali linux用wget archive.kali.org/archive-key.asc指令下载签名无效(失败)
  • ¥15 openHarmony 利用c++程序在dayu210开发板上实现拉取RTSP视频流并且在屏幕上显示
  • ¥15 GD32H757的can通信配置
  • ¥20 nist随机数测试的问题
  • ¥20 帮我解决这个项目,thank you各位程序员
  • ¥15 哪位能用ea软件做一下,有偿