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

EspLua вместо NodeMCU

pvvx

Активный участник сообщества
Переключение контекстов уже давно сделано — странно что в NodeMCU его до сих пор не прикрутили (всего-то два файла добавить).
Например, в "ардурине", как Вы любите выражаться, все функции с блокирующим поведением переключают контекст на системный, и возврат в контекст скетча происходит по таймеру/коллбэку/событию. В lua вполне подойдет такая модель.
Подойдет, но надо внести массу исправлений, а время на это пока не было. Тем более я не программист (только постольку поскольку) - т.е. не совсем привычная среда для рода занятий....
 

pvvx

Активный участник сообщества
Привет, pvvx
залил bin файлы из
"EspLua.ru 1.1.2"
"build 20150702"
Постоянно горит синий светодиод, поток на UART:
Код:
0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
epc1=0x40200064, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Fatal exception (0):
что не правильно делаю?
Не знаю. Только что считал с https://github.com/pvvx/EspLua/tree/master/bin файлы и прошил FLASH_DOWNLOAD_TOOLS_v1.2 в модуль ESP-01.
Скорее всего у вас не та копия. В последней, более суток назад, много сменились. По ошибке похоже используется помесь старой версии iram_buf.c с новым загрузчиком.
 
pvvx,
Скорее всего у вас не та копия. В последней, более суток назад, много сменились. По ошибке похоже используется помесь старой версии iram_buf.c с новым загрузчиком.
скачал,
FLASH_DOWNLOAD_TOOLS_v1.2 в модули ESP-07/12/12e/12+128кб.
тоже самое.
в \bin есть еще файл "rapid_loader.bin",но
в readme.txt нет адреса его загрузки - может в этом причина?
 

pvvx

Активный участник сообщества
pvvx,

скачал,
FLASH_DOWNLOAD_TOOLS_v1.2 в модули ESP-07/12/12e/12+128кб.
тоже самое.
в \bin есть еще файл "rapid_loader.bin",но
в readme.txt нет адреса его загрузки - может в этом причина?
Нет - он уже включен в 0x00000.bin

Так - в проекте не хватало lib0main.a. Дополнил. В прошлый раз торопился и забыл его добавить. Но с ошибкой epc1=0x40200064 готовых bin это не связано (просто не соберется проект). Скомпилировал, прошил в Eclipse в ESP-01 - работает. Скоро проверю на ESP-12.

Проверил на ESP-12 - запускается и работает...
 
Последнее редактирование:
Так - в проекте не хватало lib0main.a. Дополнил.
Скачал сегодня - Bin-ы заработали.
модули: 07,12,12e,12+128м -ok.
Новый китайский борд с модулем 12E ( NodeMCU v2) не заработал - пока не понял:(.
на старте выдал:
на 74880
Код:
load 0x40100000, len 156, room 16
tail 12
chksum 0xef
csum 0xef
csum err
ets_main.c
Есть проблема с командой node.compile("set.lua")
файл в 2.9 кб вызывает перезагрузку.
запуск не большого (0,6 кбайт ) файла *.lc - вызывает перезагрузку.

Собрать проект самостоятельно как и до этого не получаеться 2 Errors.
Код:
c:/espressif/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: cannot find -l0main
collect2.exe: error: ld returned 1 exit status
../Makefile:292: recipe for target '.output/eagle/debug/image/eagle.app.v6.out' failed
mingw32-make[1]: *** [.output/eagle/debug/image/eagle.app.v6.out] Error 1
mingw32-make[1]: Leaving directory 'D:/ESP8266_Projekt/EspLua-master/EspLua-master/app'
D:/ESP8266_Projekt/EspLua-master/EspLua-master/Makefile:240: recipe for target '.subdirs' failed
mingw32-make.exe: *** [.subdirs] Error 2
Использую : Espressif-ESP8266-DevKit-v2.0.6-x86.exe
что нужно исправить ?
 

pvvx

Активный участник сообщества
Новый китайский борд с модулем 12E ( NodeMCU v2) не заработал - пока не понял:(.
Там случаем не две flash?
Или есть проблема с работой на 80MHz QSPI из-за кривой разводки проводников SPI к Flash.
Тогда надо пробовать два варианта: программно корректировать CS у QSPI контроллера и понизить частоту. Но это всё надо делать в загрузчике rapid_loader, т.к. без него не загрузить все 48 к IRAM при старте. А пока он "бета" версии и у меня нет "китайский борд с модулем 12E ( NodeMCU v2)" и исходники rapid_loader не готовы для выкладывания (т.к. слеплено кое-как).
Есть проблема с командой node.compile("set.lua")
файл в 2.9 кб вызывает перезагрузку.
запуск не большого (0,6 кбайт ) файла *.lc - вызывает перезагрузку.
Там вроде беда со стеком. С новыми SDK он больше, чем используемым в SDK 0.9.6 (b1).
ld.exe: cannot find -l0main
У меня какие-то непонятки с git, вчера эту lib0main.a добавил, но что-то неверно в скриптах. https://github.com/pvvx/EspLua/commit/7fa9532b928aa6fb3edbf8ef5009fb955b778188
Обновил.
 
Последнее редактирование:
Там случаем не две flash?
Стоит обычная 12e - 32 мб. (пока не вскрывал крышку, но думаю все одно и тоже) ,
Выведены все порты 4d для SD карты.
схема 2-кнопки RES и Flash + 1-led, + cp2102.
+ хитрые 2 транзистора (логика) - RTS на Reset, DTR на GPIO0.

У меня на моем макете то же cp2102 без RTS на Reset, DTR на GPIO0.
Ставлю в свой макет 12е - работает!
на китайской плате нет.
Все остальные прошивки на китайской плате работают без проблем... :(?
 

pvvx

Активный участник сообщества
Ставлю в свой макет 12е - работает!
на китайской плате нет.
Варианта пока вижу два:
1) на шинах QSPI сидят какие-то неверные емкости или разводка.
2) Очень кривая flash - не работает на 80MHz и требует задержки перед выставлением CS (в общем тормоз и дешевка).
Надо корректировать - тормозить все настройки QSPI.
Проект Rapid_Loader (в виде как-есть :) ) cкинул.
Надо переписывать на asm, иначе пляски с бубном при изменении с согласованием адресов и лишние команды :)
 
Последнее редактирование:
Привет!
У меня какие-то непонятки с git, вчера эту lib0main.a добавил
закачал,
Собрать проект не получаеться 2 Errors, но другие
Код:
ValueError: invalid literal for int() with base 16: 'U'
mingw32-make[1]: *** [.output/eagle/debug/bin/eagle.app.v6.bin] Error 1
../Makefile:185: recipe for target '.output/eagle/debug/bin/eagle.app.v6.bin' failed
mingw32-make[1]: Leaving directory 'D:/ESP8266_Projekt/EspLua-master/EspLua-master/app'
D:/ESP8266_Projekt/EspLua-master/EspLua-master/Makefile:240: recipe for target '.subdirs' failed
mingw32-make.exe: *** [.subdirs] Error 2
 

pvvx

Активный участник сообщества
Привет!

закачал,
Собрать проект не получаеться 2 Errors, но другие
Код:
ValueError: invalid literal for int() with base 16: 'U'
mingw32-make[1]: *** [.output/eagle/debug/bin/eagle.app.v6.bin] Error 1
../Makefile:185: recipe for target '.output/eagle/debug/bin/eagle.app.v6.bin' failed
mingw32-make[1]: Leaving directory 'D:/ESP8266_Projekt/EspLua-master/EspLua-master/app'
D:/ESP8266_Projekt/EspLua-master/EspLua-master/Makefile:240: recipe for target '.subdirs' failed
mingw32-make.exe: *** [.subdirs] Error 2
Скопируйте esptool.py в C:\Espressif\utils\
Пока в UDK esptool.py имеет 2 уже известных ошибки с момента выхода последней версии.
 
Последнее редактирование:
Скопируйте esptool.py в C:\Espressif\utils\
помогло,
Наконец установил скорость по умолчанию 921600.;) - удобнее...

Варианта пока вижу два:
1) на шинах QSPI сидят какие-то неверные емкости или разводка.
2) Очень кривая flash - не работает на 80MHz и требует задержки перед выставлением CS (в общем тормоз и дешевка).
Не понятно, и эта сборка на китайской плате не работает, но
Ваш проект esp8266web-master34 на скорости 160мГц работает нормально.
и остальные прошивки работают - просто загадка.:rolleyes:?
 

pvvx

Активный участник сообщества
Не понятно, и эта сборка на китайской плате не работает, но
Ваш проект esp8266web-master34 на скорости 160мГц работает нормально.
и остальные прошивки работают - просто загадка.:rolleyes:?
CPU на 160 не значит, что QPSI на высокой частоте. Это не имеет никакой связи.
Тут при старте модуля включается x2 скорость шины QSPI. Затем уже в SDK корректируется PLL на кварц в 26MHz и в этот момент неизвестно есть ли сбои.
Ещё при старте, в зависимости от "подтяжек" ног модуля по разному отрабатывает инициализация SDK (и ROM-BIOS). Там выходит более десятка вариантов различных путей и ветвлений, приводящих к разным настройкам оборудования. Возможно в плате NodeMCU именно в этом отличия... Или там установлена flash из отбраковки - китайцы...
 
Или там установлена flash из отбраковки - китайцы...
не вопрос, давно собирался
- снес крышку, впаял фирменную 128,
не помогло.
Что у "кошечки" внутри:
чип.
372014
p17m97
Распайка платы схема есть, все как обычно Gpio 0/2/15/en -все правильно по 12 кОм .
res 12кОм / 470пф к +3,3в. кварц 26м.
не понятно.:(?
 
Залил в плату (NodeMCU v2 +128 mbit)- NodeMCU 0.9.6 build 20150704
все Oк
Код:
NodeMCU 0.9.6 build 20150704  powered by Lua 5.1.4
lua: cannot open init.lua
> =node.heap()
35128
> =node.info()
0    9    6    10851292    1589487    16384    2    40000000
>
Total : 14977421 bytes
Used  : 0 bytes
Remain: 14977421 bytes
 

pvvx

Активный участник сообщества
не вопрос, давно собирался
- снес крышку, впаял фирменную 128,
не помогло.
Что у "кошечки" внутри:
чип.
372014
p17m97
Распайка платы схема есть, все как обычно Gpio 0/2/15/en -все правильно по 12 кОм .
res 12кОм / 470пф к +3,3в. кварц 26м.
не понятно.:(?
сделал опцию лоадера на QSPI в 40MHz.
https://github.com/pvvx/Rapid_Loader/tree/master/bin rapid_loader_40m.bin
Скопируйте его в \EspLua\bin c переименованием в rapid_loader.bin и пересоберите прошивку.
 

pvvx

Активный участник сообщества
@Vladimir555:
Загрузка с rapid_loader_40m.bin:

ets Jan 8 2013,rst cause:1, boot mode: (3,7)
load 0x40100000, len 156, room 16
tail 12
chksum 0xa1
csum 0xa1


У rapid_loader.bin на 80MHz - контрольная сумма 0x71.
Что такое chksum 0xef ? И почему она не верна (csum err)? Что записано в начало flash?

cause:1 - это старт по питанию или пину CH_PD
cause:2 - это старт по пину reset

Вроде так, остальное совпадает (boot mode: (3,7))
 
Последнее редактирование:
У rapid_loader.bin на 80MHz - контрольная сумма 0x71.
Что такое chksum 0xef ? И почему она не верна? Что записано в начало flash?
пробовал писать кнопкой Flash из проекта и FLASH_DOWNLOAD_TOOLS_v1.2 одинаково.
грузит в память может быть не правильно?
какие еще выводы чипа могут повлиять на загрузчик?
 
Но это ROM-Bios грузит
Он же управляется сигналами с пинов 0,2,15 ?
Видимо в соединении модуля с платой что-то сделано кроме Gpio 0,2,15.
Это происходит только с этим проектом- остальные проекты грузятся без проблем, это засада.:)
В чем отличие Вашего проекта?
 
Последнее редактирование:
Сверху Снизу