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

Запуск esp 12E c датчиком

kab

New member
Это понятно. Просто проблема-то возникла ровно с тем же скетчем что и был ранее.
А насчёт объема занимаемой памяти. Я правильно понимаю, что на борту esp12e , 4mb flash памяти. Если посчитать, то у меня прошивка выходит в ~510kb + скетч максимум 15 kb. Или я ошибаюсь в своих суждениях?)
Может я тоже ошибаюсь - :),
но flash - это внешняя память, непосредственного отношения к процессу выполнения программы MCU, не имеющая. Прошивка, да, пишется во flesh, но проблемы не в ней, а в том, как это всё работает в оперативной памяти. И, не вдаваясь в подробности, складывается впечатление, что (для Lua) плохо. В том числе и с учетом Вашего случая :). Как говорится в пословице "чтобы понять, что яйцо испортилось, не обязательно есть его целиком". Естественно, в Arduino IDE тоже есть свои тараканы. Но они как бы более понятны и предсказуемы. По моему мнению.
 

JI_John

Member
у меня прошивка выходит в ~510kb + скетч максимум 15 kb
Вы про что, Lua или Arduino IDE? Если про Lua, то там не скетчи, а скрипты.
И да, есть оболочка (node mcu) содержащая интерпритатор Lua (400-500кБ) и скрипт (10-... сколько напишете кБ)
Интерпритатор переводит скрипт в машинный код и выполняет его. Как там реально распределена память... хз...
Есть там основной банк памяти, резервный, Lua пишет то туда, то сюда... (черт ногу сломит) В результате все висит... (это из моего печального опыта)...
В ARDUINO IDE все проще, написал скетч, компилятор перевел его в машинный код получилась прошивка.
Прошивка заливается в память и все работает. (Это если очень грубо, очень кратко, очень скомкано...)
А насчёт объема занимаемой памяти. Я правильно понимаю, что на борту esp12e , 4mb flash памяти.
Исполнение программы ведется из внешней SPI ПЗУ путём динамической подгрузки требуемых участков программы в кэш инструкций. Подгрузка идет аппаратно, прозрачно для программиста. Поддерживается до 16 МБ внешней памяти программ.
производитель в документах не указывает точное количество ОЗУ на кристалле, а только приблизительную оценку того количества ОЗУ, что останется пользователю после линковки библиотек — порядка 50 кБ. Энтузиасты, исследовавшие библиотеки ESP8266, предполагают, что он содержит 32 кБ кэша инструкций и 80 кБ ОЗУ данных.[/QUOTE
И да...
в Arduino IDE тоже есть свои тараканы. Но они как бы более понятны и предсказуемы.
 
  • Like
Реакции: kab

evgeniy111

New member
Это всё здоворо, но проблема в том, что я пробую AT прошивочку залить. esp прошивается, вроде всё. а при запуске опять ловлю fatal exception :(
 

evgeniy111

New member
Вообщем, всем спасибо) я её похоже упорол.
Пробывал заливать blank по адресам которые рекомендовали. потом пробовал залить по всем доступным, далее пробовал залить blank в 1mb, и залить AT прошивку, но результат тот же.
 

nikolz

Well-known member
Ну, давайте подробнее :)
Я правильно понял, что сейчас Вы пользуетесь прошивкой, в которой свою функциональность Вы описываете через Lua скрипт?
Особенностью использования систем с Lua является необходимость постоянно держать полный интерпретатор Lua в памяти MCU, которой и так достаточно мало. И, вследствие этого и других факторов системы с Lua получаются существенно капризнее, чем другие аналоги. И не случайно на этом сайте уверенно владеющих Arduino IDE всё-таки существенно больше, чем пользователей Lua.

Т. е. прямой ответ на Ваш вопрос следующий: на Arduino IDE проще запрограммировать задачу ,чтобы программа устойчиво работала и не приводила к "крашу модуля". Это непосредственный мой опыт и не только.
Вы ошибаетесь.
интерпретатор не в памяти ,а в основном во флеш. Используется исполнение функций из флеш.
свободной памяти не меньше чем в дурине
Проблема синего диода может быть в отсутствии параметров настройки WIFI т е надо записывать прошивку из двух файлов если версия старше 0.9.5
читайте здесь:
Flashing the firmware - NodeMCU Documentation
----------------------------
Для создания практически любых размеров скриптов на луа надо использовать dofile
и подгружать скрипты из файловой системы тогда программа может быть до 3 МБайт размером, что на дурине сделать нельзя.
 

evgeniy111

New member
А выход у нее случайно не 5 вольт? Просто программно ESP ушить сложно, только спалить...
MAC читается?
Нее, там есть два выхода на 5 и 3.3. у меня всё время на 3.3 подключено было. У меня есть подозрение, не могло ли это быть попыткой запитаться от 3 пальчиковых батареек?)
 

JI_John

Member
у ESP на пинах стоит защита до 6 вольт.
Ох... " Терзают меня смутные сомнения" ©
В сети чаще встретишь - "Подключил нагрузку... Запитал от... - Волшебный дым..."
Нежные они какие то... А софтово как ее убить? В крайнем случае флешку сдул, новую запаял.
Помоему так.
 

nikolz

Well-known member
Ох... " Терзают меня смутные сомнения" ©
В сети чаще встретишь - "Подключил нагрузку... Запитал от... - Волшебный дым..."
Нежные они какие то... А софтово как ее убить? В крайнем случае флешку сдул, новую запаял.
Помоему так.
Убить можно микросхему флеш если питание подадите 6 вольт.
а у ESP на входах защита (см документацию)
Можно убить и ESP если питание перевернуть или подать вольт 10
------------------------------------
100% Защиту от дурака еще никто не придумал,
потому, что дурак хитрее.
 
Сверху Снизу