收藏官网首页
查看: 22957|回复: 8

[求助] ESP8266的SOC方案,OTA问题——在线等大侠

3

主题

11

帖子

141

积分

注册会员

Rank: 2

积分
141
跳转到指定楼层
楼主
发表于 2017-8-2 16:15:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
汉枫LPB120模块
按照乐鑫官方建议,OTA升级时,使用user1和user2进行ping-pang循环,以防升级中途意外。

但是机智云GAgent貌似采用了其它方式。根据提示信息

[M2M] M2M cmd to check OTA!!!
[M2M] M2M push WIFI OTA!
[GServer] Logsystem: Cloud_isNeedOTA GAgent_OTA:yes!
[GServer] start WIFI OTA...
[GServer] WIFI OTA is running!
[GServer] GAgent Download WIFI Firmware success,go to copy it to code area!

CRITICAL copy firmware success!
reboot to use1、

可以看到,GAgent先将新版固件下载到flash中某些地方暂存,下载完成后,再复制到乐鑫的user1代码区。这就引出两个问题:

1、我存储了大量用户数据在flash里面(按照乐鑫文档使用的用户数据区),GAgent OTA一刷,各种数据都被破坏掉了。——很显然是GAgent下载新固件使用了这些区域暂存。然而我不知道GAgent用了哪些区域啊,不知道怎么避开,求文档求说明。。。。。

2、目测GAgent没有使用user1和user2两套固件ping-pang循环升级的方式,那么万一升级过程中出现异常,那产品会不会变砖?已经销售到终端客户手上的产品变砖很惨啊。。。。。

求助,在线等。。


36

主题

308

帖子

70

积分

注册会员

Rank: 2

积分
70
推荐
发表于 2017-8-3 11:36:15 | 只看该作者
本帖最后由 Genius 于 2017-8-7 11:49 编辑

使用情况如图所示
G3机智云物联网云服务 287087942
有什么疑问,可以在论坛,qq群(优先在论坛哦,避免重复造轮子)
在论坛提问的回答率是100%!!!!!!!!
希望和大家一起交流学习.

3

主题

11

帖子

141

积分

注册会员

Rank: 2

积分
141
沙发
 楼主| 发表于 2017-8-2 16:31:00 | 只看该作者
求助,@boboP 大大

36

主题

308

帖子

70

积分

注册会员

Rank: 2

积分
70
地板
发表于 2017-8-3 11:39:25 | 只看该作者
1、我存储了大量用户数据在flash里面(按照乐鑫文档使用的用户数据区),GAgent OTA一刷,各种数据都被破坏掉了。——很显然是GAgent下载新固件使用了这些区域暂存。然而我不知道GAgent用了哪些区域啊,不知道怎么避开,求文档求说明。。。。。

2、目测GAgent没有使用user1和user2两套固件ping-pang循环升级的方式,那么万一升级过程中出现异常,那产品会不会变砖?已经销售到终端客户手上的产品变砖很惨啊。。。。。
问题1  确定你固件是没有问题的就可以,固件一定要先测试
G3机智云物联网云服务 287087942
有什么疑问,可以在论坛,qq群(优先在论坛哦,避免重复造轮子)
在论坛提问的回答率是100%!!!!!!!!
希望和大家一起交流学习.

3

主题

11

帖子

141

积分

注册会员

Rank: 2

积分
141
5#
 楼主| 发表于 2017-8-3 17:01:42 | 只看该作者
注册成为机智云开发者,手机加虚拟设备快速开发
郭庆帅 发表于 2017-8-3 11:39
1、我存储了大量用户数据在flash里面(按照乐鑫文档使用的用户数据区),GAgent OTA一刷,各种数据都被破坏 ...

谢谢回复!

我可能没有说清楚。

我硬件使用的是安信可ESP-12F模组
烧录的映像是这样的:
boot_v1.5.bin                                      0x00000
user1.4096.new.6.bin                           0x01000
blank.bin                                            0x3fe000
esp_init_data_default.bin                      0x3fc000
asc_xs.bin                                          0x208000(约600K)


用乐鑫提供的ESPFlashDownloadTool_v3.4.4.exe烧录上述映像,运行良好,单独更新烧录其中的user1.4096.new6.bin也运行良好。

我的操作步骤:
一、然后我将user1.4096.new.6.bin代码里面的宏SDK_VERSION从“13”改为“14”,其它不做任何改动,编译后本地烧录,能运行正常。
二、将“14”版上传到机智云固件升级(OTA)云端,使用固件类型“wifi”
三、重新将原“13”版user1.4096.new.6.bin本地烧录到esp8266中,正常运行;
四、使用云端OTA“验证固件”功能,根据串口调试信息,可以看到固件正常更新。但同时,读出asc_xs.bin(0x208000)的数据,已经发生变化。

下面是串口调试界面的输出:(中间二进制数据,是定时读出flash中,0x208000位置的数据输出,可以看到OTA升级后,该位置数据发生变化)

2017-08-03 16:52:00
flash address: 0x208000

83030000C02F00000000000020000000
18000C00040000000000000000000000
00000000000000003FFFF8003FFFF800
20000800200008002000080020000800
[M2M] M2M cmd to check OTA!!!
[M2M] M2M push WIFI OTA!
[GServer] Logsystem: Cloud_isNeedOTA GAgent_OTA:yes!
[GServer] start WIFI OTA...
[GServer] WIFI OTA is running!

2017-08-03 16:52:02
flash address: 0x208000

83030000C02F00000000000020000000
18000C00040000000000000000000000
00000000000000003FFFF8003FFFF800
20000800200008002000080020000800

2017-08-03 16:52:04
flash address: 0x208000

83030000C02F00000000000020000000
18000C00040000000000000000000000
00000000000000003FFFF8003FFFF800
20000800200008002000080020000800

2017-08-03 16:52:05
flash address: 0x208000

83030000C02F00000000000020000000
18000C00040000000000000000000000
00000000000000003FFFF8003FFFF800
20000800200008002000080020000800

2017-08-03 16:52:07
flash address: 0x208000

83030000C02F00000000000020000000
18000C00040000000000000000000000
00000000000000003FFFF8003FFFF800
20000800200008002000080020000800

2017-08-03 16:52:09
flash address: 0x208000

83030000C02F00000000000020000000
18000C00040000000000000000000000
00000000000000003FFFF8003FFFF800
20000800200008002000080020000800

[GServer] GAgent Download WIFI Firmware success,go to copy it to code area!

CRITICAL copy firmware success!
reboot to use2
state: 5 -> 0 (0)
rm 0
pm close 7
del if0
usl

2017-08-03 16:52:16
flash address: 0x208000

0100000000000000B46A050000100000
30304553503832360000303430323031
31340000663333313164656334623837
36633235343662636135383735373061

[GServer] http reconnect callback, error code -11 !!!
[M2M] reconnect callback, error code -11 !!!
[LogServer] Socket: logServer reconnect !!!
[Local] GAgentStatus change, lastGAgentStatus=0x073a, newGAgentStatus=0x070a
@@@@ GAgentStatus[hex]:70a | [Bin]:0,0,1,0,1,0
OnBoarding: Station mode
WiFi status: disconnected router
WiFi status: disconnected m2m
RSSI 7

ets Jan  8 2013,rst cause:1, boot mode3,6)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 32Mbit(1024KB+1024KB)
jump to run user2 @ 101000

....

请继续帮忙看看,谢谢了哈

点评

重新刷过,刷个其他项目的,再回来刷  详情 回复 发表于 2017-8-18 16:58

3

主题

11

帖子

141

积分

注册会员

Rank: 2

积分
141
6#
 楼主| 发表于 2017-8-4 14:04:40 | 只看该作者

晕,这个宝贵楼层居然被论坛自动隐藏了,现在才看到。

这幅图正是我想要的,将会完美解决俺的问题,谢谢了哈!!

17

主题

100

帖子

1381

积分

金牌会员

Rank: 6Rank: 6

积分
1381
7#
发表于 2017-8-18 16:58:22 | 只看该作者
小横 发表于 2017-8-3 17:01
谢谢回复!

我可能没有说清楚。

重新刷过,刷个其他项目的,再回来刷

0

主题

20

帖子

587

积分

高级会员

Rank: 4

积分
587
8#
发表于 2017-9-27 17:46:01 | 只看该作者
本帖最后由 admaoV 于 2017-9-27 17:47 编辑

有个方法笨方法试试  就是把25存储器 焊下来在编程器上读出来  对比.试试看 我是比较懒懒得弄  然后如果可以把25存储器换大点试试  哈哈


我在想 把25存储器换成16M(128)的  或者32M(256)的

点评

厉害了。。。。成功了一定要回来说一声哈!  详情 回复 发表于 2017-9-27 20:56

3

主题

11

帖子

141

积分

注册会员

Rank: 2

积分
141
9#
 楼主| 发表于 2017-9-27 20:56:37 | 只看该作者
admaoV 发表于 2017-9-27 17:46
有个方法笨方法试试  就是把25存储器 焊下来在编程器上读出来  对比.试试看 我是比较懒懒得弄  然后如果可 ...

厉害了。。。。成功了一定要回来说一声哈!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

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