HTTP-OTA下载固件失败!

2019-7-3 09:17 [复制链接] 11 292

如图,ESP8266通过AT Client模式连接到局域网Web服务器。
$ @( U; r: }. M总是卡在84%这个节点,没有一次是下载完成的。
. ]) I6 o! P1 R( B6 N0 u/ @0 d; P! o+ f" M3 W- i0 R
' K9 w8 G/ e" B) s2 ]2 u6 g  b
HTTP_OTA下载不完全.png
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2019-7-3 09:25:06 | 显示全部楼层
上面有错误信息提示, AT client接收数据失败,串口设备获取数据错误,可以跟踪看看
使用道具 举报 回复
发表于 2019-7-3 10:45:29 | 显示全部楼层
yangjie 发表于 2019-7-3 09:257 m9 d  o, @3 f! t
上面有错误信息提示, AT client接收数据失败,串口设备获取数据错误,可以跟踪看看 ...
% s; Q0 @  a" F% M# O1 I+ r" V- A
我将HTTP缓冲区大小(HTTP_OTA_BUFF_LEN)从128字节调整到8192字节,都是同样的问题。
使用道具 举报 回复
发表于 2019-7-3 10:48:28 | 显示全部楼层
本帖最后由 insect2006 于 2019-7-3 10:49 编辑 4 q0 X9 D/ E" c5 I8 |
7 o" y: m1 U3 g$ R
length = webclient_read(session, buffer_read, file_size - total_length > HTTP_OTA_BUFF_LEN ? HTTP_OTA_BUFF_LEN : file_size - total_length);
9 B' }) z+ a, H; Q
- L3 o, J- Z4 A# Y关于此函数,剩余读取大小超过HTTP缓冲区大小时,则读取HTTP_OTA_BUFF_LEN字节数据。否则读取剩下不足HTTP_OTA_BUFF_LEN的实际数据。
7 F6 `- [$ s+ I* I6 S! v. ^) Z* L/ \8 k
但是实测发现,即使我读HTTP_OTA_BUFF_LEN字节数据,实际返回的读取成功数据大小也不是HTTP_OTA_BUFF_LEN,而是小于HTTP_OTA_BUFF_LEN的一个数。即返回的读取数目不等于我想要读取的数目。原因未知。
使用道具 举报 回复
发表于 2019-7-3 12:07:30 | 显示全部楼层
1. free 命令查看一下设备最大内存占用有没有超,怀疑是内存不足2 V/ v) ~) R% r0 t7 G( q

4 a  g/ a3 \0 A% S; r8 R- g2. 换用小一点的文件(10K - 20K)测试是否出现同样的问题
' B& F, c- A, P
: a) B, P% G9 x0 \, ]3. 读取数据的问题不用纠结,你这里应该是循环读取数据吧,AT 设备接收数据通过 URC 处理接收, URC 接收数据长度都是有限制的,每个设备不一样,一般都是 1K 左右,而且 TCP 连接是流式的即接收到数据就会返回,所以可能接收到一个 URC 就返回了一个URC 数据长度。这里的接收数据长度小于传入的长度应该没问题。
使用道具 举报 回复
发表于 2019-7-3 14:00:25 | 显示全部楼层
Cheney_Chen 发表于 2019-7-3 12:07: v. R2 E" c. C; H+ k# w0 K
1. free 命令查看一下设备最大内存占用有没有超,怀疑是内存不足/ M$ N3 I! ~( e: U

( R" `1 r- ~0 j8 {4 M" d8 G2. 换用小一点的文件(10K - 20K)测试是 ...

. @/ O3 p: a: B! @1。见图,内存充足。
9 j/ j1 P) q4 }+ P
5 y4 ?* G1 N3 x- w2 U! I2。我分别试了一个146KB和一个27KB的文件,大的卡在84%,小的卡在57%。* N$ {' I2 W" g

* T& [4 f# v. ^* y# G9 j1 X; G  M7 R: T8 {8 S: k

2 g! Q4 y3 p& o8 w  }+ t
1.png
使用道具 举报 回复
发表于 2019-7-3 14:05:42 | 显示全部楼层
又试着下载一个4KB的图片,也提示失败。
2.png
使用道具 举报 回复
发表于 2019-7-3 14:43:55 | 显示全部楼层
本帖最后由 Cheney_Chen 于 2019-7-3 14:45 编辑
5 C8 U$ e# C% p, k# w; M0 f. h8 T% S' ?/ }
是 IoT-Board 开发板吗,提供一下测试环境:开发板类型,系统版本号,at_device 版本,AT 设备类型,我帮你测试一下看能不能复现问题
; v( c$ c- ?3 E9 u; i
使用道具 举报 回复
发表于 2019-7-3 14:47:43 | 显示全部楼层
Cheney_Chen 发表于 2019-7-3 14:43: @' h* m7 I) j% q* M1 K; N
是 IoT-Board 开发板吗,提供一下测试环境:开发板类型,系统版本号,at_device 版本,AT 设备类型,我帮你 ...

4 g  _0 u0 o: H: `' E: L% f正点原子407探索者开发板
* Q: Z; a* l: ~- A/ z# iRT-Thread3.1.2
0 \/ f- d* J! {% `  `" VAT设备是ESP82664 W% P; `; z) v. c6 C
at_device版本:1.0.0
使用道具 举报 回复
发表于 2019-7-3 14:48:12 | 显示全部楼层
本帖最后由 insect2006 于 2019-7-3 14:49 编辑 * j5 k8 k5 w( i) |* e. v/ G1 y

/ U) n- O9 @! |7 r* j使用仿真调试,发现此处数据读取返回-1
11.png
使用道具 举报 回复
发表于 2019-9-13 12:16:28 | 显示全部楼层
insect2006 发表于 2019-7-3 14:48
( m4 z2 n% [6 S( b8 b2 k使用仿真调试,发现此处数据读取返回-1

1 E5 T) ]! r$ q+ |/ S! J, H# L我也遇到同样的问题,请问大神如何解决????
使用道具 举报 回复
发表于 2019-9-19 22:43:27 | 显示全部楼层
请问你OTA下载时卡死问题解决没?我也遇到同样的问题
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|RT-Thread开发者社区 ( 沪ICP备13014002号-1

有害信息举报电话:021-31165890 手机:18930558079

© 2006-2019 上海睿赛德电子科技有限公司

Powered by RT-Thread

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