esp8266 固件读取当前用户区错误

wangym307
Posts: 1
Joined: Mon Jul 16, 2018 10:14 am

esp8266 固件读取当前用户区错误

Postby wangym307 » Mon Jul 16, 2018 2:08 pm

esp8266,带有FOTA功能的固件。使用 system_upgrade_userbin_check(),会根据当前工作在user1还是user2来返回相应的值:若返回0x00说明工作在user1,若返回0x01说明工作在user2。
我编写了一个固件,使用10个样品测试,都是工作在user1下的。然而,调用这个API的时候,有8个返回了正确的值(0x00),有两个返回了错误的值(0x01)。从官方手册来看,这个返回值是和FLASH最后16KB中存储的某些地址相关的,我推测可能是我的固件程序bug,导致工作的时候可能修改到这个相关的地址中的值。所以,希望知道这个相应的地址是多少。
我使用的FLASH大小是1MByte。分区如下:
boot.bin 0x0
user1.bin 0x1000
user2.bin 0x81000
esp_init_data_default.bin 0xfc000
blank.bin 0xfe000

Her Majesty
Posts: 349
Joined: Mon Oct 27, 2014 11:09 am

Re: esp8266 固件读取当前用户区错误

Postby Her Majesty » Fri Jul 27, 2018 5:05 pm

可以参考 8266 入门指南 第 4.2.2 章节。flash download tool 在下载时,flash size 也应该对应选择为 8Mbit。

Who is online

Users browsing this forum: No registered users and 6 guests