OTA远程升级跳转失败

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

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

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

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

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

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

CRC校验对比无误,接收后的以及FLASH读取出来的均校验对比一致,并且16进制数据对比过也无误,程序正常烧入无卡死问题,接收和发送时均有调试无卡死,中断向量表更改过偏移量,但是在system系统文件内更改的,未在main里单独更改;

关中断,清缓存。
在bootloader里对app做个完整校验确认是不是完全无误。