OTA升级流程

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

OTA刷写流程如下:

OTA刷写流程
在这里插入图片描述

注意事项:

  1. 上面有两个OTA刷写流程,流程A(第一张图)和流程B的区别在于流程A是先刷写的Flash
    Driver再刷写的APP,而流程B直接刷写的APP。

  2. 使用zlgcan手写can传输代码时,每次只能发8个bytes数据,如果超过8个bytes数据就要用多帧,多帧格式是,前两bytes出第一个bytes高四位必须是1(代表多帧)其他12个bits用来表示数据长度。然后后面数据超过6bytes,就要首先等待对方给你发流控帧(30 00 00 00 00 00 00 00(一般第一个byte是30 后面不一定都是00))然后按照21作为下一帧的开始开始发。如果21-2F都用完了,数据还没发完,则从20开始继续发20-2F一个周期开始发,一般会定义数据能发送的最大长度,不超过长度内,作为一块就全发完。示例如下:
    在这里插入图片描述
    注意不要发生如下错误:
    在这里插入图片描述

  3. 流程里面涉及hex文件解析,参考链接:https://blog.csdn.net/lone5moon/article/details/117792834?fromshare=blogdetail&sharetype=blogdetail&sharerId=117792834&sharerefer=PC&sharesource=miantu123&sharefrom=from_link

  4. 34服务数据长度计算不对
    在这里插入图片描述在这里插入图片描述
    起始地址是:1FFE0000
    结束地址是:1FFE0234
    计算逻辑原本是找到棕色那个标志位“01”代表文件结束,再找它上一行的地址,作为文件的结束地址,但是上一行不一定是标志位“00”数据段,所以要找到“01”前面遇到的第一个“00”的地址作为结束地址。

  5. 31 01 02 02计算校验码不对,原来程序未校验,出错了不会提示,但是后续31 01 FF 00 44会报0x22。

  6. OTA刷写刷的是App.hex文件,正常用J-link刷写的是Production文件夹内的AudioDev.hex(Full hex)。

  7. 当你在10 02会话下,但是31 01 02 02报0x7f,大概率是超时退出10 02会话了,(5s就会退出),循环发送3E 80即可。

  8. 3E 80 的诊断ID需要用7DF(功能寻址)不然会打断772 内容发送。

  9. 36服务一块最多发送4095的数据(包含两字节的36 XX),一块最多发数据4093

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值