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

Проблема при прошивке модулей ESP-07

ICuT

New member
Добрый день!
Столкнулся с проблемой при прошивке модулей.

Предыстория.
Год назад начал проект дописал его до тестового состояни тогда на UDK Espressif-ESP8266-DevKit-v2.0.9-x86. Писал на ESP-12E после чего благополучно залил в тестовое железо с модулем ESP-07 где благополучно его отлаживал дальше. Это к тому, что не сталкивался с такой проблемой ранее.

Суровые будни.
Сейчас пришло время продолжить проект. Решил перейти на СДК 2.0. Взял UDK 2.2.1. Первая сложность была в том что не мог прошить ESP-12E, он после заливки примера уходил в постояный ребут, пошарив форум я измени параметры мэйк фала на вот такие (признаюсь больше методом тыка чем осознано):

Код:
# Main settings includes
include    ../settings.mk

# Individual project settings (Optional)
#BOOT        = new
#APP        = 1
SPI_SPEED    = 40
SPI_MODE    = QIO
SPI_SIZE_MAP    = 0
ESPPORT        = COM5
ESPBAUD        = 115200

# Basic project settings
MODULES    = driver user
LIBS    = c gcc hal phy pp net80211 lwip wpa main crypto

# Root includes
include    ../common_nonos.mk
Пример заработал, я успокоился и запилил туда свой проект, попутно переписав его по человечески. Грусть печальменя ждала когда я решил проект залить в боевое железо. Модуль ESP-07 после загрузки прошивки уходит в ребут циклический. Ну я поигрался с SPI_SIZE_MAP что не привело к результатам. Пошёл читать форум. Почитав схожие проблемы я решил начать с вкрытия модулей, что бы точно знать где какая флешка. На модуле ESP-12E оказалась 25q32assig (4 МБайта) а на моделе ESP-07 - 25q80assig (1 Мбайт). Далее я попытался выставить вот такие параметры:

Код:
# Main settings includes
include    ../settings.mk

# Individual project settings (Optional)
BOOT        = new
APP        = 1
SPI_SPEED    = 40
SPI_MODE    = QIO
SPI_SIZE_MAP    = 4
ESPPORT        = COM5
ESPBAUD        = 115200

# Basic project settings
MODULES    = driver user
LIBS    = c gcc hal phy pp net80211 lwip wpa main crypto

# Root includes
include    ../common_nonos.mk
Консоль билда:

Код:
11:33:20 **** Build of configuration Default for project wifi-ap-tcp-client ****
mingw32-make.exe -f C:/Espressif/examples/ESP8266/wifi-ap-tcp-client/Makefile flash
CC driver/uart.c
CC user/user_main.c
AR build/app_app.a
LD build/app.out
Run objcopy, please wait...
objcopy done
Run gen_appbin.exe
-715252224
715252223
Support boot_v1.2 and +
Generate user1.4096.new.4.bin successully in folder firmware/upgrade
boot.bin------->0x00000
user1.4096.new.4.bin--->0x01000
Done
c:/Espressif/utils/ESP8266/esptool.exe -p COM5 -b 115200 write_flash -ff 40m -fm qio -fs 32m 0x01000 firmware/upgrade/user1.4096.new.4.bin
esptool.py v1.2-dev
Connecting...
Running Cesanta flasher stub...
Writing 229376 @ 0x1000... 0 (0 %)1024  ..[вырезал для удобства]..  229376 (100 %)

Wrote 229376 bytes at 0x1000 in 19.9 seconds (92.3 kbit/s)...
Leaving...

11:33:43 Build Finished (took 23s.105ms)
После ребута модуль не перезагружается но и не работает:

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

load 0x40100000, len 28024, room 16
tail 8
chksum 0x17
load 0x0c353aa8, len 214049348, room 0
Почитал ещё форум, поправил 101 и 109 строки файла common_nonos.mk, дописав -с1.
Попробовал так:

Код:
# Main settings includes
include    ../settings.mk

# Individual project settings (Optional)
BOOT        = new
APP            = 1
SPI_SPEED    = 40
SPI_MODE    = QIO
SPI_SIZE_MAP    = 6
ESPPORT        = COM5
ESPBAUD        = 115200

# Basic project settings
MODULES    = driver user
LIBS    = c gcc hal phy pp net80211 lwip wpa main crypto

# Root includes
include    ../common_nonos.mk
Консоль:
Код:
11:39:00 **** Build of configuration Default for project wifi-ap-tcp-client ****
mingw32-make.exe -f C:/Espressif/examples/ESP8266/wifi-ap-tcp-client/Makefile flash
CC driver/uart.c
CC user/user_main.c
AR build/app_app.a
LD build/app.out
Run objcopy, please wait...
objcopy done
Run gen_appbin.exe
-1871229776
1871229775
Support boot_v1.4 and +
Generate user1.4096.new.6.bin successully in folder firmware/upgrade
boot.bin------->0x00000
user1.4096.new.6.bin--->0x01000
Done
c:/Espressif/utils/ESP8266/esptool.exe -p COM5 -b 115200 write_flash -ff 40m -fm qio -fs 32m-c1 0x01000 firmware/upgrade/user1.4096.new.6.bin
esptool.py v1.2-dev
Connecting...
Running Cesanta flasher stub...
Writing 229376 @ 0x1000... 0 (0 %)1024 (0 %)   ....  229376 (100 %)

Wrote 229376 bytes at 0x1000 in 19.9 seconds (92.3 kbit/s)...
Leaving...

11:39:23 Build Finished (took 22s.859ms)
Результат тотже.

На данный момент совершая различные монипуляции с файлом мэйк в ESP-12E (4МБ) мне удалось загрузить работающую прошивку только при условии SPI_SIZE_MAP=0 и закоментареных boot и app. Не один из вариантов непозволил мне залить работающую прошивку в модуль ESP-07.
Пробовал заливать helow word но результат не отличается.

Что я делаю не так? И может быть если где-то информация которая позволит понимать, что меняется в make файле и как его настраивать асозанано а не на угад.

П.С. так же не мог не заметить, что в новом UDK изменилась карта памяти, данные в другое место лъются. Может быть есть материалы которые и на это прольют свет.

Спасибо!
 

ICuT

New member
Вопросов стало ещё больше чем было,... но в целом, оно заработало... почти само... на настройках на которых поидее должно было работать и вчера. В том смысле, что оба модуля прошились и заработали при BOOT = none, APP = 0, SPI_SIZE_MAP = 0.

В бубен я тоже постучал успел, но не уверен что в этом дело.
1) Переустановил всю платформу, включая эклипс. Это помогло или нет не понятно
2) Проэксперементировал масу вариантов мэйк фалйла, пока не убедился в документированой правильности рабочей конфигурации (нашёл наглядный алгоритм выбора настроек) 2a-esp8266-sdk_getting_started_guide_en стр 20. У меня не FOTA и слава богу, остальные настройки ушли на второй план.
3) Больше вопросов получилось с картами памяти и т.п. system_get_flash_size_map упорно возвращает мне FLASH_SIZE_4M_MAP_256_256 на обоих модулях, что физически вроде не так. Но это уже другая история. Это где-то в другом месте надо читать и разбираться видимо =) Кстати, если есть компиляции на эту тему, поделитесь ссылкой или направлением. Спасибо.
4) Скачал последнюю FLASH_DOWNLOAD_TOOLS_V3.4.4 (я ей контент во флешку заливаю) сомнительно но может это тоже как то подействовало.

В общем прошу прощения за ложную тревогу =)
 
Последнее редактирование:
Сверху Снизу