C/C++教程

2、ESP8266运行报错csum err、mismatch map 4,spi_size_map 0

本文主要是介绍2、ESP8266运行报错csum err、mismatch map 4,spi_size_map 0,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、现象描述

1、flash_download_tools_v3.6.5.exe

2、烧录参数如下:

 

 

 3、我手上有两个不同的ESP8266模块(模块A、模块B),模块A运行后报如下错误:

load 0x40100000, len 2592, room 16
tail 0
chksum 0xef
load 0x00000000, len 0, room 8
tail 0
chksum 0xef
load 0x00000000, len 0, room 0
tail 0
chksum 0xef
csum 0xef
csum err
ets_main.c

 3、我手上有两个不同的ESP8266模块(模块A、模块B),模块B运行后报如下错误:

2nd boot version : 1.7(5d6f877)
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size & Map: 4Mbit(256KB+256KB)
jump to run user1 @ 1000

mismatch map 4,spi_size_map 0

 

二、原因分析csum err(个人猜想)

1、烧录时勾选DoNotChgBin,因此程序的SPI参数使用了boot_v1.7.bin里面的SPI参数设置。

2、模块A不支持该SPI参数,导致无法正常读取FLASH,报校验错误。

3、模块B支持该SPI参数,从打印中我们也可以看到boot_v1.7.bin中的SPI设置是40MHz、QIO。

 

三、原因分析mismatch map 4,spi_size_map 0(个人猜想)

1、模块B为什么也不能正常运行呢?原因在于我们勾选了DoNotChgBin,导致烧录工具无法将spi_size_map写入到boot中。而boot_v1.7.bin的设置全为00,这也就是spi_size_map为什么是0。

 

 

 

四、解决方案

1、方法一、去掉DoNotChgBin勾选,再烧录。

2、方法二、用编辑直接改掉boot_v1.7.bin中的两个字节,再烧录。

 

这篇关于2、ESP8266运行报错csum err、mismatch map 4,spi_size_map 0的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!