• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Не прошивается WeMos D1 R1

Доброго времени суток. Понадобилось использовать несколько плат для отладки. Нашел у себя одну, ранее не использованную плату WeMos D1 R1. Попробовал залить на неё скетч и не получилось. Выдало ошибку:
Код:
Executable segment sizes:

ICACHE : 32768           - flash instruction cache

IROM   : 241168          - code in flash         (default or ICACHE_FLASH_ATTR)

IRAM   : 26733   / 32768 - code in IRAM          (IRAM_ATTR, ISRs...)

DATA   : 1504  )         - initialized variables (global, static) in RAM/HEAP

RODATA : 1012  ) / 81920 - constants             (global, static) in RAM/HEAP

BSS    : 25736 )         - zeroed variables      (global, static) in RAM/HEAP

Скетч использует 270417 байт (25%) памяти устройства. Всего доступно 1044464 байт.
Глобальные переменные используют 28252 байт (34%) динамической памяти, оставляя 53668 байт для локальных переменных. Максимум: 81920 байт.
esptool.py v3.0
Serial port COM18
Connecting.....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 50:02:91:c3:2a:1c
Uploading stub...
Running stub...
Traceback (most recent call last):
  File "C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0/tools/upload.py", line 66, in <module>
    esptool.main(cmdline)
  File "C:/Users/user/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/esptool\esptool.py", line 3575, in main
    esp = esp.run_stub()
  File "C:/Users/user/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/esptool\esptool.py", line 728, in run_stub
    raise FatalError("Failed to start stub. Unexpected response: %s" % p)
esptool.FatalError: Failed to start stub. Unexpected response: b'OHEI'
Failed uploading: uploading error: exit status 1
Поменял несколько портов и кабелей. Результат тот же.
Посмотрел, что пишет в мониторе порта. На скорости 74880 при нажатии на кнопку (вроде бы резет) пишет вот это:
Код:
ets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 2408, room 16
tail 8
chksum 0xe5
load 0x3ffe8004, len 776, room 0
tail 8
chksum 0x84
load 0x3ffe8310, len 672, room 0
tail 8
chksum 0xd8
csum 0xd8

2nd boot version > 1.6
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 32Mbit(512KB+512KB)
jump to run user1 @ 1000

rf cal sector: 1017
rf[112] : 00
vf[113] : 00
rf[114] : 01

SDK ver: 2.0.0(5a875ba) compiled @$Aug  9 2016 15:12:27
phy ver: 1055, pp ver: 10.2

jJ�D�
При включении/выключении платы в мониторе порта ничего не пишет. Имеется ввиду вставка кабеля юсб в комп.
При вводе команды AT на скорости 115200 пишет ERROR
Скачал Flash Download Tools вот отсюда: https://www.espressif.com/en/products/socs/esp8266ex/resources
и оттуда же ESP8266 IDF AT Bin
Получил вот такие файлы в каталоге флешера:
Код:
SUCCESS.txt
target.bin
hspi_download.conf
spi_download.conf
utility.conf
flash_download_tool_3.9.3.exe
bootloader.bin
¦+г¬.txt
WiFiScan.ino.bin
WiFiScan.ino.partitions.bin
boot_app0.bin
Flash_Download_Tool__en.pdf
Flash_Download_Tool__cn.pdf
и вот такие в каталоге с прошивками:
Код:
factory_WROOM-02.bin
factory_param_WROOM-02.bin
factory_param.bin
download.config
esp-at.bin
esp-at.elf
esp-at.map
bootloader.bin
client_cert.bin
client_key.bin
factory_parameter.log
mqtt_ca.bin
at_customize.bin
client_ca.bin
flasher_args.json
mqtt_cert.bin
mqtt_key.bin
ota_data_initial.bin
partition-table.bin
sdkconfig
Что прошивать/выбирать из этого списка не понятно. По другим темам таких файлов не нашел. В находящихся там пдф файлах вроде тоже не нашел ничего об этом
Сам флэшер запускается, можно выбрать порт, на котором висит плата. Значит по идее плата видится.
Хотелось бы подсказку, что прошивать и вообще, может быть проблема в другом, а я все усложняю?
 
Google esptool.FatalError "Failed to start Stub. Unexpected Response:"
Ошибка в программировании ESP8266.
Да я вроде так и сделал. Тем более, другие платы прошивает. Есть ещё парочка таких же. Хоть эта слегка от них отличается визуально.
Тоесть я посмотрел в настройках, все типа заново прописал путь к этому файлу json. Плата установилась, есть стандартные примеры к ней. Но при прошивке выдавало указанную выше ошибку.
И у меня ведь не ESP-01 как в вашем примере, а скажем так, полноформатная WeMos D1 R1.

На свой страх решил прошить только что этим флешером. Вроде как показало успех (на скрине). Но при этом на ввод команды АТ ничего не происходило. Решил залить опять через Ардуино.ИДЕ, и опять та же ошибка. Нажал на кнопку резет и в порту пошли вот такие сообщения:
Код:
epc1=0x4010fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000000ee, depc=0x00000000
Fatal exception (29):
epc1=0x4014fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000000ee, detc=0x00000000
Fatal exception (29):
epc1=0x4010fdcc, epc2=0x04000000, epc3=0x00000000, excvaddr=0x000000ee, depc=0x00000000
Fatal exception (29):
epc1=0x4010fdcc, epc2=0x00000000, epc3=0|00000000, excvaddr=0x000000ee, depc=0x00000000
Fatal exception$(29):
epc1=0x4010fdcc, epc2=0x00000000, epc3=0x00000000, excveddr=0x000000ee, depc=0x00000000
Fatal exception (29):
epc1=0|4010fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000000ee, depc=0x00000000
Fatal exception (29):
epc1=0x4010fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000000ee, depc=0x00000040
Fatal exception (29):
epc1=0x4010fdcc, epc2=0x00000000, epg3=0x00000000, excvaddr=0x000000ee, depc=0x00000000
Fatal exception (29):
epc1=0x4010fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000000ee, depc=0x00000000
Fatal exception (29):
epg1=0x4010fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000040ee, depc=0x00000000
Fatal exception (29):
epc1=0x4010fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000000ee, depc=0x00400000
Fatal exception (29):
epc1=0x4010fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x000000ee, depc=0x00000000
Fatal e|ception (29):
epc1=0x4010fdcc, epc2=0x00000000, epc3=0x00000040, excvaddr=0x000000ee, depc=0x00000000
Fatal exception (29):
epc1=0x4010fdcc, epc2=0x00000000, epc3=0x00000000, excvaddr=0x400000ee, depc=0x00000000
 

Вложения

Осмотрел внимательнее свою плату, оказалось, что слегка ошибся. Это версия WeMos D1 R2. Попробовал другой вариант прошивки с обновлением загрузчика + SDK +AT. Настройки на скрине. Прошивка опять показало, что все хорошо, но после перезагрузки платы в мониторе порта постоянно выдает следующее сообщение:
Код:
V2
Mo
rf_cal[0] !=0x05,is 0x00

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

load 0x40100000, len 2592, room 16
tail 0
chksum 0xf3
load 0x3ffe8000, len 764, room 8
tail 4
chkwum 0x92
load 0x3ffe82fc, len 676, room 4
tail 0
chksum 0x22
csum 0x22

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

corvect flash map
mismatch map 2,spi_size_map 0
system param partition error
 

Вложения

Поскольку это оказалась WeMos D1 R2, и везде пишут, что она совместима с NodeMCU, попробовал её прошить с помощью ESP8266-NODEMCU FIRMWARE PROGRAMMER. Но тоже не шьется. В логе пишет следующее:
Код:
Note:Detect serial port changed.
Note:Auto MAP serial port.Port-->COM18

Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Note:ESP8266 ACK success.
Error:Read ESP8266 register timeout.
Note:Serial port disconnected.
Warning:Serial port closed by user.
Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Error:Read ESP8266 register timeout.
При этом по кругу бегает три "состояния" программы (обвел красным):
 

Вложения

Сверху Снизу