硬汉嵌入式论坛

 找回密码
 立即注册
查看: 814|回复: 4
收起左侧

[有问必答] 关于TI芯片TMS320F280025的OTA问题

[复制链接]

4

主题

12

回帖

24

积分

新手上路

积分
24
发表于 2024-8-15 17:31:30 | 显示全部楼层 |阅读模式
我在进行对80025升级OTA的过程的遇到了问题,我们的升级文件有100多kb,分为2000多包,每包48字节下发,写入的起始地址假设为0x00085000,每一包带有相对于起始地址的偏移,如no.0为0x00000000,no.1为0x00000018(因为实际写入是半字编程,所以是0x30 / 2),全部发完后进行校验。
我们的升级是统一广播完所有包之后,再根据个体缺少的包进行下发。比如收到了1,2,3,4,6,7,那么再全部发完2000包之后会马上给他发缺少的5。
问题出现了,如果是正常按顺序接收完所有包,校验就可以通过,如果是缺少了某些包等到最后补充的,那么不管缺少的数目,都会校验失败。
我已经确定了每一包都收到了,且下发的数据成功方和失败方也是一致的。
所以想问下,是不是该芯片的写入必须按顺序写入,不能在中途插入,希望有用过的大佬可以解惑一下

回复

使用道具 举报

2

主题

14

回帖

20

积分

新手上路

积分
20
发表于 2024-8-16 06:15:00 | 显示全部楼层
一般而言,都是要求按page整体一次pragram。如果page的一部分被program了,下次要program剩下的,那么应该先erase这page再重新整体一次program
回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2024-8-16 08:45:15 | 显示全部楼层
没用过,但有个思路是不是计算校验码的时候计算的是没有补包的的数据的校验码??
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-8-16 10:07:29 | 显示全部楼层
如果是这样,你的发送段的校验也应该是补充包的校验顺序和接收端顺序一致来校验。
回复

使用道具 举报

4

主题

12

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2024-8-16 10:12:56 | 显示全部楼层
eric2013 发表于 2024-8-16 10:07
如果是这样,你的发送段的校验也应该是补充包的校验顺序和接收端顺序一致来校验。

是这样的,我们是先发送整体文件的校验,然后发送所有分包,然后发送校验命令让芯片自己得出校验值与第一次下发的校验值进行比对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 06:30 , Processed in 0.054865 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表