• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

EspLua вместо NodeMCU

nikolz

Well-known member
Я написал в соседней ветке как собирать nodemcu
Можете собрать сами теперь
 
Ножки GND и питания у чипа припаяйте или смените его, если считаете что всё остальное проверили.
Привет pvvx!
Вы меня не поняли, а не говорю что прошивка плохая,
осталась совсем не понятная причина и связана со сборкой только Ваших проектов,
остальные работают!
Мне трудно понять, что же такого в Ваших сборках.
Заметил отличие адресов 0x0c0000 и 0x100000 у остальных.
Если это проявилось в китайской игрушке, может вылезти и потом.
Уже писал, если надоело , закопаем, только скажите . ;)
 

nikolz

Well-known member
сделал еще одну смешную прошивку (см адрес загрузки) т е занимает меньше места чем при загрузке 0x10000
и работает также.
Если кто найдет отличия от предыдущей просьба сообщить.
 

Вложения

nikolz

Well-known member
Вам уже пора размещаться на https://github.com/
Проще будет с новыми ревизиями.
Меня и так устраивает, так как я там особенно ничего принципиально нового не делаю.
Для моих проектов меня устраивают китайские сборки и добавление своих модулей на СИ
 

pvvx

Активный участник сообщества
Привет Pvvx!
Не пора ли отказаться от стандарта 9600, хотя бы на 230400 - 21 век на дворе;).
каждый раз правлю.:(
Спросите у кого не работает железо на 230400.
Неа - не пора. Lua + spiffs = тормоз. Ввод строк на 16Mbуtes flash идет через 2 и более секунд, а ESPLorer не имеет таких задержек. Набивка и загрузка программ только вручную в терминале :) Если ещё запишите часть диска в 16Mbуtes flash, то последующие вводы строк и открытия файлов будут длиться наверно минуту... Зачем для ручного ввода 230400? :confused: 9600 -и так много :)
Кроме тормоза вроде всё работает в EspLua. Счас испорчу - закину с новыми глюками-добавками...
 

nikolz

Well-known member
собрал последнюю китайскую сборку от 20150704
заменил скорость UART на 115200 файловую систему не исправлял (может и не надо) загрузка с 0x9000(освобаждаем флеш ).
выкладываю как есть:
NodeMCU 0.9.6 build 20150704 powered by Lua 5.1.4
NodeMCU 0.9.6;chipid=10517634;flash: id=1458415,size=4096,mode=0,speed=40000000
lua: cannot open init.lua
x.txt...................................99800
main.lua................................590
remain:.3309435...used:.101906..total:.3411341
heap=34240
 

Вложения

ESPLorer не имеет таких задержек
да, часто вылетает по timeout.
Заметил (начиная с первой ревизии) странное поведение Вашей прошивки с ESPLorer при загрузке в Lua то нормально грузит, то заедает на пол файла и вылетает. Кто там "loader" отвлекает надолго?

Один и тот же файл (после Reset) первый раз всегда с ошибкой, второй раз нормально.
На китайских прошивках этого не было.
Тогда переходим на 1200:). нажал кнопку и будет много свободного времени.
 
Последнее редактирование:
А здесь другая сборка, на SDK 1.2.0, а не глючной полугодичной бэте 0.9.6
Посмотрел полный 32мбит дамп памяти после работы test5
Все стало понятно, 50% накладных расходов для записи одной строки 100 байт!
ну и FS безобразие какое то:(
esp32m.png
По этому всю память и съела до 0x3fffff
а пишет:
Used : 1491693 bytes - шутит так:)
 
Последнее редактирование:

pvvx

Активный участник сообщества
да, часто вылетает по timeout.
Заметил (начиная с первой ревизии) странное поведение Вашей прошивки с ESPLorer при загрузке в Lua то нормально грузит, то заедает на пол файла и вылетает. Кто там "loader" отвлекает надолго?
Система SDK.
У меня работает одновременно SDK и Lua. Иначе, как в NodeMCU, будет постоянно рваться связь и отваливаться WiFi.
Посмотрел полный 32мбит дамп памяти после работы test5
Все стало понятно, 50% накладных расходов для записи одной строки 100 байт!
ну и FS безобразие какое то:(
Там всё ещё хуже в spiffs. Конца записи нет - файл пишется по кругу, обнаружить конец объема диска Lua не может. Очень долгий перебор всех секторов для записи следующего байта файла, приводящий к ожиданию более нескольких секунд до записи следующего куска ... Как итог, диск размером более 1 Мег вызывает уже непереносимый тормоз при вводе строк на запись. А c 16Мег никаких сил не хватает дождаться, когда оно найдет куда ей дальше писать :(
Надо искать другую файловую систему. Эту пусть китайцы и nikolz пользует - им всё равно.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Ндас... spiffffsss....
https://github.com/pellepl/spiffs/blob/master/src/spiffs_gc.c#L254
Назначается адрес для dword (s32_t *cand_scores) из байтного (fs->work) + число умноженое на 2 (sizeof(spiffs_block_ix)).
Как итог в строке https://github.com/pellepl/spiffs/blob/master/src/spiffs_gc.c#L317
получаем Fatal exception (9): epc1=0x40258297, epc2=0x00000000, epc3=0x00000000, excvaddr=0x3fff244a, depc=0x00000000
т.к. как можно записать s32_t score в адрес не кратный четырем? Та и буфер вроде назанчени не для 32-х битных.
И главное в spissf так всё.... Как этО всё ИсПраВлятЬ?:confused:
 
Запустил Test5 на ESP12 +25q128.
EspLua.ru 1.2.0 build 20150715 powered by Lua 5.1.4
lua: cannot open init.lua
>
----------------------------
Test5.lua : 437 bytes
x1.txt : 1000000 bytes
x2.txt : 1000000 bytes
x3.txt : 1000000 bytes
x4.txt : 1000000 bytes
x5.txt : 1000000 bytes
----------------------------
Total file(s) : 6
Total size : 5000437 bytes

Total : 14932241 bytes
Used : 5043343 bytes
Remain: 9888898 bytes
>
Уже гораздо интереснее.
Остановилась точно в конце x5.txt, заняла всю память.
все красиво, но есть проблема:
Файлов x - 5 шт!
esp128m.png
 
Последнее редактирование:
Сверху Снизу