Уважаемые посетители сайта esp8266.ru!
Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram
У меня тоже вопрос про Makefile. Заюзал grunt чтобы собирать webgui для проекта - куда вставить вызов команды чтобы перед заливкой файлов(сборкой spiff image) запускался grunt ?
Добрый день. Переустановил виндовс и снова проблема, не компилируются примеры.
21:57:51 **** Build of configuration Sming for project Basic_Blink ****
make all
LD out/build/app.out
c:/Espressif/ESP8266_SDK/lib\libmain.a(app_main.o): In function `user_uart_wait_tx_fifo_empty':
(.irom0.text+0x340): undefined reference to `user_rf_pre_init'
c:/Espressif/ESP8266_SDK/lib\libmain.a(app_main.o): In function `user_uart_wait_tx_fifo_empty':
(.irom0.text+0x458): undefined reference to `user_rf_pre_init'
collect2.exe: error: ld returned 1 exit status
make: *** [out/build/app.out] Error 1
21:58:05 Build Finished (took 14s.641ms)
Ставил через команду
choco install sming -y, в настройках эклипс прописал, что ему опять не нравится непонятно
SMING_HOME C:\tools\sming\Sming
ESP_HOME C:\Espressif
"Починил" - переименовал папку с SDK, взял версию _110, но как правильно починить чтобы с последней версией работало?
Рано обрадовался, работают не все примеры, выдает теперь
22:25:16 **** Build of configuration Sming for project Basic_AirUpdate ****
make all
C+ /C/tools/sming/Sming/appinit/user_main.cpp
C+ app/application.cpp
AR out/build/app_app.a
LD out/build/app.out
out/build/app_app.a(application.o): In function `connectOk()':
c:/tools/sming/Sming/SmingCore/Boards.h:17: undefined reference to `StationClass::waitConnection(Delegate<void ()>)'
out/build/app_app.a(application.o): In function `init()':
C:\tools\sming\Basic_AirUpdate/app/application.cpp:41: undefined reference to `StationClass::waitConnection(Delegate<void ()>)'
collect2.exe: error: ld returned 1 exit status
make: *** [out/build/app.out] Error 1
22:25:19 Build Finished (took 3s.97ms)
Заработало, после добавления строчки extern "C" void __attribute__((weak)) user_rf_pre_init(void);
GFX, по последнему SDK кое что обновляли (буквально сегодня) можете протестировать на последней версии.
Но, имхо, не стоит гнаться за цифорками в китайских SDK, далеко не всегда вместе с ними следует реальная стабильность или функциональность. Кроме того, в наиболее проблемных моментах типа espconn, Sming и так уже предоставляет собственное решение. Так что возможно Вам вовсе не стоит торопиться переходить с версии 1.1.0, которая себя точно хорошо зарекомендовала.
Я тут про Memory Layout почитал, вроде разобрался.. Сейчас в Sming PROGMEM и сопутствующие функции являются просто заглушками, а что если заменить их на что-то примерно такое:
Я тут про Memory Layout почитал, вроде разобрался.. Сейчас в Sming PROGMEM и сопутствующие функции являются просто заглушками, а что если заменить их на что-то примерно такое:
Я тут про Memory Layout почитал, вроде разобрался.. Сейчас в Sming PROGMEM и сопутствующие функции являются просто заглушками, а что если заменить их на что-то примерно такое:
Тогда не работает объединение одинаковых констант и строк в имеющихся версиях gсс и от этого скоро ограничение в 1 Mегабайт "кешируемой" области от начала flash .
Все эти варианты - временные, для совместимости с Китай-глюко-SDK и с такими ухищрениями не работает более половины функций из SDK и либ gсс.
А зачем там, в прошивке, код sha1 ? Он есть в ROM-BIOS и работает.
Код в ROM-BIOS аналогичен этому.
Пример работы с ключом websocket.
base64enc_tab[] есть в RAM_BIOS: [HASHTAG]#define[/HASHTAG] base64enc_tab ((const uint8 * )(0x3FFFD600)) base64dec_tab тоже есть в RAM_BIOS, но только 128 символов.
Правда процедуры из ROM-BIOS с base64 не катят - они заточены для подпрограмм паролей WiFi, если работаем с WiFi управляемым ROM-BIOS в спец. "сикретном" режиме* ...
* "сикретном" для Espressif.
pvvx, да Вы правы, изначально я как раз планировал использовать встроенный в ROM хешер, но затем лень стало заморачиваться когда увидел несколько компактна данная реализация. Но думаю порефакторю эту часть, особенно если начну работу над HTTPS.
Компактна? Итоговый код не такой и компактный, да занимаете и так малую RAM
Тьфу, забыл, для УрДурино всё пойдет - там безразлично.
Надо перерабатывать LwIP - там много лишнего и много ресурса жрет, т.к. не адаптирован под архитектуру проца ESP8266. Не пробовали ещё странслировать только его и посмотреть итого?