• Система автоматизации с открытым исходным кодом на базе 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
 
Последнее редактирование:
Сверху Снизу