如何让ESP8266在更新模式下工作?

时间:2015-11-08 14:06:47

标签: arduino wifi esp8266

我一直试图让我的WiFi模块,ESP8266工作在“更新模式”,你将GPIO_0连接到地。 当GPIO_0与地断开时,电路板功能正常,我可以使用AT命令通过Arduino串行监视器与它通信。 以下是连接时打印的内容:

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x40100000, len 1396, room 16 
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4 
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4 
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

rrlÌÿ
Ai-Thinker Technology Co.,Ltd.

ready

但是,由于固件已过期,我无法做大多数事情。 因此,我正在尝试更新它(没有成功)

当我将其设置为更新模式并使用python工具“ esptool.py ”时,脚本无法连接到ESP板。 以下是命令:

python esptool.py -p /dev/ttyUSB0 write_flash 0x00000 "/home/aditya/Desktop/v0.9.2.2 AT Firmware.bin"

以下是输出:

Connecting...
Traceback (most recent call last):
  File "esptool.py", line 532, in <module>
    esp.connect()
  File "esptool.py", line 159, in connect
    raise Exception('Failed to connect')
Exception: Failed to connect

我甚至运行了此工具的Windows副本“ ESP Flasher ”,但没有运气

帮助的人将获得一个cookie(除非你重视隐私)

2 个答案:

答案 0 :(得分:0)

此工具(esptool.py)与ROM引导加载程序一起使用,只有在硬件复位期间GPIO_0连接到GND 时才会启动。 Bootloader也快速超时,因此仅将GPIO_0连接到地是不够的。

对我而言,以下作品:

  1. 将TXD / RXD / GND / VCC连接到PC,将CH_PD连接到VCC;
  2. 确保我可以通过终端(picocom / minicom / etc)与固件通信;
  3. 将GPIO_0连接到GND;
  4. 将RST连接到GND;
  5. 发布RST;
  6. 运行esptool.py
  7. 如果仍然没有骰子,交换上面的5和6,即首先运行esptool.py,然后(尽快)释放/断开RST。在esptool.py超时之前,您将只有一两秒钟。

答案 1 :(得分:0)

尝试连接所有设备的接地:如果中间有电平转换器,请确保GND连接到Arduino的GND以及RS232 GND。