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

Нужна помощь NodeMCU v1.0 - модуль невменяем после прошивки

Pin-G

Member
@Victor, спасибо, я в курсе.
Мне все равно сколько памяти.
Надо будет - перепаяю на больший объем.
Мне больше важна экранировка защищающая от помех и возможность подключать внешнюю антенну.
На самом деле с памятью проблем нет, есть проблемы с ее доступностью, но на том же али ее всегда можно найти по не плохой цене.
 

Pin-G

Member
@nikolz, в пределах прошивки.
Важно чтобы была поддержка емкости в прошивке.
Просто большую емкость будет дольше проверять.
 

nikolz

Well-known member
@nikolz, в пределах прошивки.
Важно чтобы была поддержка емкости в прошивке.
Просто большую емкость будет дольше проверять.
причем здесь прошивка. Емкость памяти определяется разрядностью счетчика команд (для флеш) Если я не ошибаюсь, то для L-106 максимальный объем флеш 1 GB (или 4)
Но проблема будет в интерфейсе . Поэтому реально для ESP 32 Mбайта максимум.
Но, главное, 4 Мбайта ESP-12 -выше крыши для большинства приложений на ESP
 

Pin-G

Member
@nikolz, при том что в прошивке задается максимальное колво байт в памяти.
Не в той "прошивке" что пишется во флеш чип, а та которая шьется в проц.

По вашей логике получается так что если нет аппаратного SPI то програмный сделать не возможно.
Для таких флешей аппаратный контроллер флеш совершенно не обязателен, достаточно SPI.

32Mb если и максимум то только потому что так ограничего в прошивке.
Да и 64Mb является максимальной емкостью памяти флешей серии W25Xxx.
 
Последнее редактирование:

Pin-G

Member
Хотя уже 32 не получится просто так перепаять, потому как она уже не идет в корпусе SOIC16.
В отличии от всех менее емких поторые подойдут со своим корпусом SOIC8.
 

N.Mikro

New member
Здравствуйте
Требуется помощь с модулями ESP-12.
У меня 3 модуля 01, и два 12х с разными антенами и одинаковыми чипами памяти 32мбит(4МБ)
С 01-м модулем вроде с перепрошивкой и прошивкой с конструктора wifi-iot справился - он работает.
Но проблема случилась с модулями есп-12.
Пришёл с али первый модуль, подключал сперва на сопли по вашей схеме, всё шатко -валко и ничего не выходило. Вытравил 2 платы переходника(резисторы на 10 ком стабилизатор 1117 3.3)
0.JPG
Впаял есп-12, всё пошло интересней но модуль не запускался и всё, хоть и прошивок вогнал в него уже кучу разных.
В результате мучений плюнул и какраз пришёл второй модуль, впаял модуль во вторую плату переходник и новый модуль сразу запустился с заводской прошивкой под АТ команды.
Поехал перешивать второй модуль и точно также запорол - прошивка какую бы не ставил(и нодемцу в том числе) и какие бы прошивальшики и TTL переходники не пробовал всё одно итоже или горит синий диод и валит мусор или разные ошибки, видел даже error majic, user2 8100 и прочие вариации.

Теперь по пунктам как пытаюсь исправить ситуацию и ничего невыходит:
Подтягиваю ГПИО0
вижу на 74880
ets Jan 8 2013,rst cause:2, boot mode:(1,6)
1.JPG
Фото скорей всего нето!!!!!!
Прошиваю через НОДМСУ ФЛЕШЕР
одну из прошивок одним файлом
запускаю по нормальному и вижу
ets Jan 8 2013,rst cause:2, boot mode:(3,6)

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

user code done
Далее тру 1 мб Бланк файлом(создавал и в 2 и в 3 мегабайта бланковский файл всё одинаково)

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

ets_main.c
Прошиваю ХТКОМом на скорости 115200
После прошивки сразу загорается синий светодиод и на скорости 115200 сыпит
Fatal exception (0):
epc1=0x40240754, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x40240754, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x40240754, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
После скидываю ГПИО0 и перезагружаюмодуль и уже на скорости 74880 сыпит тожесамое
load 0x40100000, len 27312, room 16
tail 0
chksum 0xa2
load 0x3ffe8000, len 1908, room 8
tail 12
chksum 0xc8
ho 0 tail 12 room 4
load 0x3ffe8780, len 11240, room 12
tail 12
chksum 0xe9
csum 0xe9
Fatal exception (0):
epc1=0x40240754, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x40240754, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
Опять ТРЁМ бланком 1-2-3-4 мегабайта неважно
ets Jan 8 2013,rst cause:2, boot mode:(3,6)

ets_main.c
Прошиваю снова ХТКОМОМ уже на медленной скорости одним файлом другую прошивку AT21SDK95-2015-01-24.bin
ets Jan 8 2013,rst cause:2, boot mode:(3,6)

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 : QIO
SPI Flash Size : 4Mbit
jump to run user1

Fatal exception (0):
epc1=0x402015a4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x402015a4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
Стираю всё к чертям со-чм

Шью через NODEMCU
тотже файл
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

Fatal exception (0):
epc1=0x402015a4, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
ТРЁМ
Заливаем теперь побитый на части файл прошивки через НОДМЦЮ
результат 0
boot mode:(3,7)

load 0x40100000, len 27952, room 16
tail 0
chksum 0x5f
load 0x3ffe8000, len 1920, room 8
tail 8
chksum 0xcf
load 0x3ffe8780, len 14128, room 0
tail 0
chksum 0x63
csum 0x63
Fatal exception (0):
epc1=0x40240754, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x40240754, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
Пробовал дописвать 4х килобайтный blank файл в 7E000
Пробовал дописывать отдельно и вместе с прошиваемыми файлами esp_init_data_default.binкаке указано на форуме
Пробовал заливать разбитые файлы
### Flash size 32Mbit: 512KB+512KB
boot_v1.2+.bin 0x00000
user1.1024.new.2.bin 0x01000
esp_init_data_default.bin 0x3fc000 (optional)
blank.bin 0x7e000 & 0x3fe000
и для других объёмов файлов тоже самое.
Пробовал все возможные прошивки и битые и единым файлом, пробовал все скорости, Пробовал как на USB TTL 3.3 v так и на ардуинол нано и уно. Пробовал припаять конденцатор на 500 мкф, но не впаивал что только керамический от помех, но без него работает на есп-01.
Уже не первый день мучаю модули и не пойму почему в инструкциях так просто а у меня нет.
Отковырял у обоих модулей металическую защитную крышку чтобы убедиться что память 32 мегабита.
Самое интересное что заметил что на почти одинаковых двух модулях ЕСП впаяных в одинаковые переходники выдаёт при старте разные цифиры (1,6) (3,6)а у этого (1,7) и (3,7).
Но модуль то работал до прошивки и на команды отвечал и в беспроводной сети был както там ATHINKчётотам с ip 192.168.1.4.
Кстати защитная крышечка у модулей уже отковырена так что есть доступ к памяти чтобы её сдуть и есть в наличае пяток такихже флэшек с роутера tp-link 841.
У кого будут какие идеи?
Извините если не в той теме написал, но и Нодмцу прошивку тоже пытался ставить разные варианты- невыходит(точней выходит мусор в порт).
ps и на разных ПК делал и результата 0
 
Последнее редактирование:

Atom

Member
Поехал перешивать второй модуль и точно также запорол - прошивка какую бы не ставил(и нодемцу в том числе) и какие бы прошивальшики и TTL переходники не пробовал всё одно итоже или горит синий диод и валит мусор или разные ошибки, видел даже error majic, user2 8100 и прочие вариации.
Я тоже какое то количество загубил, ползуясь этой программулиной. Вернуть к жизни удалось через Arduino IDE.
 

Victor

Administrator
Команда форума
Для полного комплекта ваших мучений еще попробуйте прошить модуль примером blink из Arduino IDE (там неплохой прошивальщик и IDE сама выставит нужные параметры, а вы только по меню покликаете)

1. Прошивки для модулей 512k и 4Мб отличаются
2. Прошивки для модулей 512k и 4Мб шьются по разными адресам (если состоят из нескольких файлов)
3. Файл esp_init_data_default.bin обязателен для свежих прошивок (адрес разный, зависит от размера памяти)
4. У вас в логах где QIO а где DIO - попробуйте только QIO указывать при прошивке
5. Попробуйте официальный прошивальщик
FLASH DOWNLOAD TOOL 3.3.6
 

N.Mikro

New member
Для полного комплекта ваших мучений еще попробуйте прошить модуль примером blink из Arduino IDE ...
Спасибо за ответ, попробую изучить и прошить через Arduino IDE.
FLASH_DOWNLOAD_TOOLS работает у меня только из под win 7, с ним я тоже достаточно наэкспериментировался, шил и QIO и DIO.
Самое интересное что когда модуль был ещё рабочим он вывалил информацию при старте о памяти 8 мбит(512+512) а на чипе написано 25Q32A...
 

N.Mikro

New member
Малоинформативная статья, из неё точно понял что мой случай DIO.
Хочу заметить про модуль в целом ситуация с прошивкой мне ясна даже более чем, но нет толком примеров с модулем есп-12 в которых будут прикреплены файлы и расписано что куда.
Натыкаюсь на инструкции с битыми ссылками или переехавшими в конструктор прошивок прошивками. Если и качаю архив с прошивкой единым файлом то тут ясно что куда, качаю прошивки с кучей файлов пытаюсь разобраться по мануалу в какой регистр записывать какой файл, перебираю все варианты и возвращаюсь к началу нисчем.
Не могу понять в чём причина, на каком этапе проблема, весь форум перерыл, забугорные сайты перерыл с подобными проблемами, делаю как они и вновь мусор в порт.
Осталось только с esptool.py попробовать.
 

CodeNameHawk

Moderator
Команда форума
Arduino IDE то прошивает?
У меня для более старой версии sdk адреса так располагались
esp_iot_sdk_v1.5.0_15_11_27\esp_iot_sdk_v1.5.0\bin\blank.bin;0x7e000;
esp_iot_sdk_v1.5.0_15_11_27\esp_iot_sdk_v1.5.0\bin\boot_v1.2.bin;0x00000;
esp_iot_sdk_v1.5.0_15_11_27\esp_iot_sdk_v1.5.0\bin\at\512+512\user1.1024.new.2.bin;0x01000;
esp_iot_sdk_v1.5.0_15_11_27\esp_iot_sdk_v1.5.0\bin\esp_init_data_default.bin;0xfc000;
esp_iot_sdk_v1.5.0_15_11_27\esp_iot_sdk_v1.5.0\bin\blank.bin;0xfe000;
Самое интересное что заметил что на почти одинаковых двух модулях ЕСП впаяных в одинаковые переходники выдаёт при старте разные цифиры (1,6) (3,6)а у этого (1,7) и (3,7).
Эти цифры указывают какие выводы при старте были подтянуты.
 

N.Mikro

New member
Arduino IDE то прошивает?
У меня для более старой версии sdk адреса так располагались
esp_iot_sdk_v1.5.0_15_11_27\esp_iot_sdk_v1.5.0....
Нашёл Вашу версию esp_iot_sdk_v1.5.0, потёр потом прошил в результате вижу
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 usererror user bin flag, flag = 8
user code done
после изучения этой статьи ESP8266 прошивка, программирование в Arduino IDE
прошился и получил единственную разницу flag = c
После скомпилировал скетч и залил в плату
выходит горит синяя лампочка и валит
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09f0c112
~ld
Fatal exception (0):
epc1=0x402066ac, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x402066ac, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x402066ac, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0): .....................
Хотел добавить только то, что бланк который я нашёлв аттаче на этом форуме в 4 мегабайта не лезет во флеш память. Nodemcu программер просто затупляет а XTCOM_UTIL чётко ругается что большой размер файла. Сделал на 3 мегабайта так он влезает без ошибок... [off]Может Памяти хана в обоих модулях?[/off]
+впаял память 4мб от роутера тплинк 841 :((Fatal exception (0)://///
 
Последнее редактирование:

Rover

New member
Ничего не помогает, вторые сутки мучаюсь! Перечитал уже все что можно.
Модуль ESP-12E (NodeMCU DevKit) 4Мб
Если заливаю старую версию 0.9.5 или 0.9.6 NodeMCU то всё работает.

Если формирую новую прошивку в облачном сервисе NodeMCU custom builds,
получаю по почте, заливаю, не работает. Точнее, вываливает на старте мусор.
Но если потом послать текстовую команду на языке Lua, то может сработать.

Полная чистка флэш памяти не помогает; замена файла esp_init_data_default.bin не помогает.
Сообщение formatting file system при первом включении не появляется.
Прошивки из облачного сервиса пробовал собирать и master, и dev - не работают никакие.
 

nikolz

Well-known member
Ничего не помогает, вторые сутки мучаюсь! Перечитал уже все что можно.
Модуль ESP-12E (NodeMCU DevKit) 4Мб
Если заливаю старую версию 0.9.5 или 0.9.6 NodeMCU то всё работает.

Если формирую новую прошивку в облачном сервисе NodeMCU custom builds,
получаю по почте, заливаю, не работает. Точнее, вываливает на старте мусор.
Но если потом послать текстовую команду на языке Lua, то может сработать.

Полная чистка флэш памяти не помогает; замена файла esp_init_data_default.bin не помогает.
Сообщение formatting file system при первом включении не появляется.
Прошивки из облачного сервиса пробовал собирать и master, и dev - не работают никакие.
это признак того что не исправлена esp_init_data_default.bin
Я где-то на форуме написал как залить.
Повторюсь вот здесь написано:
Flashing the firmware - NodeMCU Documentation
возьмите
NodeMCU Flasher
The NodeCU Flasher will download init data using a special path:

INTERNAL://DEFAULT

Replace the provided (old) esp_init_data_default.bin with the one extracted above and use the flasher like you're used to.
--------------
Я получал то же что и Вы потом сделал как написано выше. Все работает.
 

Rover

New member
а вы его по какому адресу заливаете?
По адресу 0x3fc000
это признак того что не исправлена esp_init_data_default.bin
Я где-то на форуме написал как залить.
Повторюсь вот здесь написано:
Flashing the firmware - NodeMCU Documentation
Увы, я уже раз двести перечитал этот источник. Всё что там описано (и не только там) уже испробовано.
Даже от безысходности пробовал засовывать esp_init_data_default.bin от разных релизов SDK.
Сейчас закралось подозрение, а не кинули меня случайно китайцы с памятью? Я-то железно уверен что там 4 мега, от этого исхожу. Вернусь с работы, надо будет как-то убедиться.
 

nikolz

Well-known member
По адресу 0x3fc000
Увы, я уже раз двести перечитал этот источник. Всё что там описано (и не только там) уже испробовано.
Даже от безысходности пробовал засовывать esp_init_data_default.bin от разных релизов SDK.
Сейчас закралось подозрение, а не кинули меня случайно китайцы с памятью? Я-то железно уверен что там 4 мега, от этого исхожу. Вернусь с работы, надо будет как-то убедиться.
Начните сначала.
Запишите nodemcu версии 0.9.5
потом проверьте на LuaLoader объем памяти (скорость порта при этом 9600)
потом возьмите с сайта новую прошивку и запишите ее вместе с указанием
INTERNAL://DEFAULT вместо как путь
все делайте с помощью ESP8266Flasher возьмите новый.
новая nodemcu будет работать на 115200
 

Rover

New member
Спасибо, всё заработало. Причина оказалась банальной: я по привычке использовал старую версию любимого терминала порта, вместо LuaLoader или ESPlorer. А эта версия терминала при каждом запуске сбрасывалась на дефолтную скорость 9600 и я видел мусор при старте. На самом деле, прошивка работала с самого начала. Но главное коварство в том, что после того, как кинешь в нее с терминала достаточно длинную команду, сама настраивается на 9600 и дальше работает нормально. Я чуть мозг не сломал, пытаясь понять, почему прошивка не стартует нормально по ресету.
 
Сверху Снизу