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

Решено Могу я прошить NodeMCU?

MiDash

Member
Здравствуйте!
Только начинаю баловаться с esp8266, хочу попробовать несколько разных прошивок. Использую адаптер на CH340G.
Немного потыкался в исходную с АТ-командами, потом прошил esp8266basic. Заработало.
А вот с NodeMCU уже не получается, поэтому есть несколько глупых вопросов.

1) У меня модули с одним мегабайтом (25Q80), не devkit. В них можно залить NodeMCU?

2) Я получил прошивку на nodemcu-build.com, размер - 407 кБ. Влезет?

3) Пытаюсь это делать с помощью ESP8266Flasher.exe. Какие пункты там надо выбирать?
Нужно оставлять пункт INTERNAL://NODEMCU? Его грузить с 0x00000?
Размер памяти указывать 1 MByte или оставить 4 MByte?
Мою прошивку грузить вместе с INTERNAL://NODEMCU или отдельно? А ее куда грузить?
Заблудился в трех соснах. Помогите пожалуйста перешагнуть "порог вхождения".
 

nikolz

Well-known member
прошивку грузить вместе с INTERNAL://NODEMCU или отдельно.
----------------------------
Размер памяти указывать 1 MByte
----------------------------------
Оставлять пункт INTERNAL://NODEMCU? Его грузить с 0xfc000
-----------------------------------
The address for esp_init_data_default.bin depends on the size of your module's flash.
0x7c000 for 512 kB, modules like ESP-01, -03, -07 etc.
  • 0xfc000 for 1 MB, modules like ESP8285, PSF-A85
  • 0x1fc000 for 2 MB
  • 0x3fc000 for 4 MB, modules like ESP-12E, NodeMCU devkit 1.0, WeMos D1 mini
Flashing the firmware - NodeMCU Documentation
 

MiDash

Member
@nikolz, спасибо!
Прямо в первой строке для меня уже два ответа: 1) прошивку грузить; 2) вместе или отдельно.
И у меня esp_init_data_default.bin никак не ассоциировались с INTERNAL://NODEMCU.
Наверное, это элементарно, но вот спотыкаемся об это при вхождении. И не я один, в Инете таких оказалось много.
 

nikolz

Well-known member
Вот эта настройка для 4Mb. Исправьте для Вашей. Работает лишь то, где X в первом столбце.
upload_2016-10-7_10-41-9.png
 

MiDash

Member
Эх, что-то все никак...
В зависимости от набора заливаемых файлов через serial port получаю или просто непрерывный мусор на всех скоростях, или дамп каких-то областей памяти на 74880, но тоже непрерывно. Бейсиком модуль прошивается нормально.
Что может быть причиной? Где можно взять для пробы какой-нибудь действующий набор файлов?
 

nikolz

Well-known member
Эх, что-то все никак...
В зависимости от набора заливаемых файлов через serial port получаю или просто непрерывный мусор на всех скоростях, или дамп каких-то областей памяти на 74880, но тоже непрерывно. Бейсиком модуль прошивается нормально.
Что может быть причиной? Где можно взять для пробы какой-нибудь действующий набор файлов?
Если пишите новые прошивки то модуль будет работать на 115200, старые на 9600
Если прошиваете новую а потом горит непрерывно синий и получаете мусор - это признак что надо записать исправление INTERNAL://NODEMCU.
Внимательно проверяйте адрес исправления и установленный объем для своей флешки
 

MiDash

Member
Спасибо, но никак.
Проверял уже на двух модулях, результат тот же. После всех попыток прошиваю Бейсиком - работает, но предварительно нужно отформатировать память. Мои попытки - под спойлером.

1) Качаю ESP8266Flasher
https://github.com/nodemcu/nodemcu-flasher/blob/master/Win32/Release/ESP8266Flasher.exe?raw=true

2) Ставлю параметры: Baudrate 115200, Flash size 1MByte, Flash speed 40MHz (по умолчанию), SPI Mode DIO (по умолчанию).
Прошиваю 0x00000_blank1m.bin по адресу 0x00000

3) Нет смысла, но перезапускаю модуль и смотрю "выхлоп". На 74880 на каждый сброс выдает
boot mode: (3,7)

ets_main.c

4) Прошиваю одновременно (стоят два крестика) nodemcu-master-7-modules-2016-10-07-20-38-38-integer.bin по адресу 0x00000 и INTERNAL://NODEMCU по адресу 0xFC000

5) Перезапускаю модуль и смотрю "выхлоп". На 74880 непрерывно выдает вот такое.

rf_cal[0] !=0x05,is 0xE9

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

load 0x40100000, len 23988, room 16
tail 4
chksum 0x6c
load 0x3ffe8000, len 2192, room 4
tail 12
chksum 0xaa
ho 0 tail 12 room 4
load 0x3ffe8890, len 8, room 12
tail 8
chksum 0x21
csum 0x21
system param error
de 05 0c 06 78 31 88 51 48 41 5d 06 5c 7a 3c 7b da 34 32 03 01 0c 49 97 03 05 d2 cd d0 86 03 00
30 30 14 bc 13 0b 33 9d 0b 30 9a 93 90 dd c0 c7 ad 25 96 86 01 57 32 15 92 21 00 d7 a9 05 62 af
ff 27 15 0b c0 55 82 0c 16 5a 5d 46 00 00 7c f6 d2 07 00 1b 77 c6 ed ff 66 06 14 21 8b fe 51 89

Размер дампа более 70 строк, я привожу только 3.
 
Последнее редактирование:

nikolz

Well-known member
Сегодня прошивал ESP01, ESP03,ESP12. Все работает
-----------------------
Попробуйте прошить для памяти 512 кбайт без бланков без INTERNAL://DEFAULT без esp_init_data_default.bin
только версию
nodemcu_float_0.9.6-dev_20150704.bin
и запустить LuaLoader на 9600.
 

MiDash

Member
Получилось!
LuaLoader не качал, но ESPlorer на 9600 показал:

NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4
lua: cannot open init.lua
>

Как бы теперь к актуальным версиям перейти...

Спасибо, буду дальше пробовать.
 

MiDash

Member
Получилось прошить вот по этой рекомендации:
http://esp8266.ru/forum/threads/nodemcu-v1-0-modul-nevmenjaem-posle-proshivki.1491/#post-20465
Спасибо @Александр Культурнов!
Осталось недоумение. Это что, действительно простая (казалось бы) операция прошивки требует такого мозгового штурма? От версии к версии требуются различные ухищрения? Такая удручающая ситуация?
 
Последнее редактирование:

Arthur

Active member
Хм...
У меня сходу ESP-12F прошился, после того как корректно собрал схему. В первый раз по глупости подал 5В вместо 3В и спалил модуль...
Но второй модуль нормально прошил, как с помощью ESP8266Flasher.exe (что тут, в теме, на скринах), с помощью ESP8266_flasher_V00170901_00_Cloud Update Ready, так и с помощью Arduino IDE...
Так что про какие версии речь идёт - не понятно. Вроде бы всё и так максимально унифицировано.
 

MiDash

Member
@Arthur, а у меня тоже прошился без проблем и не сгорел, но только бейсиком. А вот lua заупрямилось. Хотелось бы знать, почему.
Вот раз уж об этом зашла речь, объясните мне, в чем разница между INTERNAL://DEFAULT, старым esp_init_data_default и новым esp_init_data_default?
И какие еще бывают INTERNAL://ххх? Очень уж мне интересно, но пока не знаю, где посмотреть.

А о вкусе устриц смогу спорить только тогда, когда их попробую. Скорее всего мне и бейсика хватит.
 
@Arthur
И какие еще бывают INTERNAL://ххх?.
мне кажется INTERNAL://DEFAULT и INTERNAL://NODEMCU это одно и то же.
ещё есть INTERNAL://BLANK пишут что типа для очистки. но после INTERNAL://BLANK и заливки NODEMCU некоторые старые lua файлы всё равно оказываются в памяти
 

MiDash

Member
@shinji2009, спасибо!
Я нашел вот такие (ссылка), с некими адресами:
INTERNAL://FLASH 0x00000
INTERNAL://IROM 0x10000
INTERNAL://DEFAULT 0x7C000
INTERNAL://BLANK 0x7E000
но просветление не наступило.
 
@shinji2009, спасибо!
Я нашел вот такие (ссылка), с некими адресами:
INTERNAL://FLASH 0x00000
INTERNAL://IROM 0x10000
INTERNAL://DEFAULT 0x7C000
INTERNAL://BLANK 0x7E000
но просветление не наступило.
ну там написано что надо прошивать default и blank, flash надо заменить на последнюю nodemcu с гитхаба, которой там уже давно нет) irom прошивать не надо
 

MiDash

Member
И кстати, INTERNAL://NODEMCU я как-то упустил... Это точно одно и то же?
Меня ни когда не устраивали инструкции "нажми эту кнопку, потом эту", всегда хотелось знать, что при этом происходит. И что такое IROM, зачем оно есть, и при этом его не надо прошивать, тоже хотелось бы знать.
Наверное, где-то должно быть очевидно сказано, что для прошивок, полученных с nodemcu-build.com нужно использовать esp_init_data_default из патча _NONOS_SDK_V1.5.4.1_patch_20160704.
Я что-то тривиальное упустил, или мне, выражаясь высокопарно, просто повезло найти пост Александра Культурнова? А зачем ему пришлось два дня сражаться с прошивками? И почему даже Гуру (уважаемый nikolz, который всем старается помочь) не смог сразу пролить свет?
У меня складывается впечатление, что в борьбе с NodeMCU каждый осваивает какую-то одну тропинку и потом ходит по ней, не дергаясь по сторонам. И не ищет, как бы прошить новенькую прошивку. Вот и я уже такой, только на 0.95 останавливаться не захотел.
И кто виноват в том, что ситуация такая? Китайцы? На них похоже...
Или я заблуждаюсь?
Извините за "многабукафф". Наболело.
 

Arthur

Active member
Про тропинку, как грил один "дядя Саша" (АБАЖАЕМЫЙ мной чел, меценат в своём роде) - осваиваешь один чип и в основном его и используешь :). И порой используешь по принципу копи-паста, не особо задумываясь, как это всё пашет :).
Немного не в тему, но вспомнилось :).
В результате тот чел зарабатывал реальное бабло в виде 5-6 значных сумм в долларах, а Я, пытающийся всё изучить - всё также работаю "ТыЖПрограммистом", с зарплатой крайне далёкой от вышеописываемых сумм :).
 
Сверху Снизу