ESP8266 模块在启动时失败

ESP8266 module fails at boot

我有一个 ESP8266MOD ESP-12-E 连接到 USB 转 UART 模块。当我尝试与模块通信时,我得到了一些可理解的输出,然后是一条错误消息,并且通信已关闭。

适用于 ai-thinker-0.9.5.2-115200espressif-nonos-2.0.0-SDK (这不是文件的实际名称):

ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 816, room 16  
tail 0 
chksum 0x8d load 0x3ffe8000, len 788, room 8  
tail 12 
chksum 0xcf ho 0 
tail 12 
room 4 load 0x3ffe8314, len 288, room 12  tail 4 
chksum 0xcf 
csum 0xcf

2nd boot version : 1.2   
SPI Speed      : 40MHz   
SPI Mode       : DIO SPI 
Flash Size : 32Mbit
jump to run user1

对于今天构建的 nodeMCU 固件 (查看日期) 使用他们的云服务,我收到了一条较短的消息:

ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 26160, room 16  
tail 0 
chksum 0xb1 
load 0x3ffe8000, len 2192, room 8  
tail 8 
chksum 0x5d 
load 0x3ffe8890, len 136, room 0  
tail 8 
chksum 0xd8 
csum 0xd8

另外,错误信息是: 对于 linux 上的 miniterm.py:

Exception in thread rx:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/bin/miniterm.py", line 403, in reader
    data = self.serial.read(self.serial.in_waiting or 1)
  File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 495, in read
    raise SerialException('device reports readiness to read but returned no data (device disconnected or multiple access on port?)')
SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

Exception in thread tx:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/bin/miniterm.py", line 444, in writer
    self.serial.write(self.tx_encoder.encode(text))
  File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 547, in write
    raise SerialException('write failed: %s' % (v,))
SerialException: write failed: [Errno 5] Input/output error

对于 windows 上的 Putty,我似乎也在启动过程的同一阶段遇到错误。

注1:我刷新固件成功了,每次都刷到"verify OK",所以连接正常。

注2:当我在Normal Boot模式下使用模块时(GPIO15为低电平,GPIO0和GPIO2悬空),当EN(enable)pin为高电平(3.3v)时,PORT8 on windows and /dev/ttyUSB0 在 linux 上都消失了。此外,在与 putty 或 miniterm 进行任何类似通信时,我需要保持 EN 浮动以便系统看到模块,然后连接软件,然后将 EN 置于高电平(否则它会卡住)。

也尝试过使用 ESPlorer,但无法自动检测固件。我在几个固件上遇到了这个错误,我尝试了很多波特率。

问题出在 ESP8266 单元的电源上。我没有从 USB-to-UART 模块提供 3.6V,而是使用另一个提供 3.3V 的电压源,也可能提供更高的电流。 请注意,模块必须由 3.0V - 3.6V 供电,它可能会使用几百毫安,因此旧电源略高于 3.6V,可能无法提供所需的电流。