Search found 4 matches

by John Liu
Thu Jul 19, 2018 3:03 pm
Forum: Espressif Cloud Server
Topic: 一个关于:ESP8266_RTOS 在线升级FOTA CRC问题
Replies: 3
Views: 1646

Re: 一个关于:ESP8266_RTOS 在线升级FOTA CRC问题

问题追踪: 1> 在PC端,生成测试程序(从Esp8266源码中抽出upgrade相关代码,直接调用upgrade_crc_check函数)计算CRC值。发现生成的CRC值和用Esp8266编译出来的CRC值有时候相等,有时候不等。 2> 怀疑是Esp8266编译产生的CRC有问题,跟踪makefile文件。发现Esp8266生成bin文件后,是通过调用\tools\gen_appbin.py脚本产生CRC。 3> 对\tools\gen_appbin.py脚本单独进行测试,发现问题出在函数gen_appbin()的最后对all_bin_crc的判断上: if boot_mode == '1'...
by John Liu
Wed Jul 18, 2018 10:33 am
Forum: ESP8266 SDK
Topic: OTA upgrade never finishes
Replies: 9
Views: 2017

Re: OTA upgrade never finishes

这问题出在tools目录下的gen_appbin.py脚本,fix如下: 1> 对\tools\gen_appbin.py脚本单独进行测试,发现问题出在函数gen_appbin()的最后对all_bin_crc的判断上: if boot_mode == '1' or boot_mode == '2': all_bin_crc = getFileCRC(flash_bin_name) if all_bin_crc < 0: all_bin_crc = abs(all_bin_crc) - 1 else : all_bin_crc = abs(all_bin_crc) + 1 print &quo...
by John Liu
Wed Jul 18, 2018 10:31 am
Forum: Espressif Cloud Server
Topic: 一个关于:ESP8266_RTOS 在线升级FOTA CRC问题
Replies: 3
Views: 1646

(搞定)一个关于:ESP8266_RTOS 在线升级FOTA CRC问题

这个问题出在tool目录下的gen_appbin.py脚本。*** 这应该是开发包的Bug *** 1> 对\tools\gen_appbin.py脚本单独进行测试,发现问题出在函数gen_appbin()的最后对all_bin_crc的判断上: if boot_mode == '1' or boot_mode == '2': all_bin_crc = getFileCRC(flash_bin_name) if all_bin_crc < 0: all_bin_crc = abs(all_bin_crc) - 1 else : all_bin_crc = abs(all_bin_crc) +...
by John Liu
Fri Jun 29, 2018 4:18 pm
Forum: Espressif Cloud Server
Topic: 一个关于:ESP8266_RTOS 在线升级FOTA CRC问题
Replies: 3
Views: 1646

一个关于:ESP8266_RTOS 在线升级FOTA CRC问题

背景:用ESP8266模组,云端自己搭建(参考Upgrade.c文件)。
问题:
1. 做FOTA时,从Server端下载文件成功,但调用upgrade_crc_check函数时,计算出来的img_crc不正确。读出来的flash_crc正确。
2. 有时候编译出来的user1.bin或者user2.bin放在Server端,进行在线升级时,img_crc又是正确的。
问题2,是非常令我困惑的地方。要么img_crc总是不正确,为何有时候又是正确的呢?程序只是增加了一个串口打印。

Go to advanced search