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

UDK: Общие баги/глюки/проблемы

DarkSide

New member
В ветке master на github уже новый скрипт сборки компилятора версии 5.2, но он пока в стадии тестирования.
Да, я знаю. Именно с его сборкой у меня были проблемы, которые решились выкачиванием всех зависимостей не с Крымского IP. Сейчас компилятор собран и работает. Никаких проблем за пару дней использования замечено не было.
 

roadfox

New member
Коллеги, доброго времени суток!
Родной проект "at" в 2.0.9 из "коробки" не собирается. Для успешной сборки в Makefile строка библиотек должна выглядеть так:
# libraries used in this project, mainly provided by the SDK
LIBS = c gcc hal phy pp net80211 lwip wpa main json upgrade smartconfig at crypto

Далее не по теме, но может кто знает рецепт
Заменив проект "at" более свежим из ESP8266_NONOS_SDK_V1.5.2_16_01_29 и заменив файлы SDK в UDK 2.0.9,
дополнив Makefile:

# libraries used in this project, mainly provided by the SDK
LIBS = c gcc hal phy pp net80211 lwip wpa main json upgrade smartconfig at crypto airkiss wps ssl

а так же увеличив объем памяти в eagle.app.v6.ld:

org = 0x40240000, len = 0x0fc000

проект собирается и работает все, кроме WPS
При команде WPS проц ребутится секунды через две-три.
При этом прошивка из SDK работает без проблем.
В чем может быть трабла?
 

RRRLock

New member
Добрый день. Столкнулся с проблемой прошивки ESP8266.
Плата ESP-07.
Все выводы соединил как на схеме.
При запуске цели flash выдает следующие ошибки:

Traceback (most recent call last):
File "esptool.py", line 567, in <module>
File "esptool.py", line 160, in connect
Exception: Failed to connect
C:/Espressif/examples/hello_world/Makefile:220: recipe for target 'flash' failed
mingw32-make.exe: *** [flash] Error 255

Внес изменения в файл esptool.py как описано в статье Работа с ESP8266: Собираем компилятор и пишем первую прошивку. Не помогло.
 
Последнее редактирование:

RRRLock

New member
Вопрос связанный с Eclipse и UDK.
Можно ли воспользоваться отладчиком для проверки своей прошивки? Как я понял, такая возможность отсутствует ввиду отсутствия интерфейса JTAG. Или же как-то можно отлаживаться через UART ?
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Вопрос связанный с Eclipse и UDK.
Можно ли воспользоваться отладчиком для проверки своей прошивки? Как я понял, такая возможность отсутствует ввиду отсутствия интерфейса JTAG. Или же как-то можно отлаживаться через UART ?
По JTAG вам сюда
 

NutsXXXL

New member
Замечание о том зачем вообще нужен mingw...
мне изначально не понравилось что в udk этот mingw ставиться с кучей всего
но в нем есть такая полезная шутка как sh.exe
для меня было такое открытие - если есть sh.exe то make.exe его вызывает для выполнения команд из makefile
а если нет - то вызывает через интерпретатор windows, который имеет некоторые отличия от sh.exe:

- не работает set -e
- нельзя разделять команды ;
- mkdir вызывается встроенный в винду и в нем не работают некоторые ключи

в результате makefile от exppressif генерируют кучу ошибок в строчках типа
set -e; make -C subdir1; make -C subdir2;
mkdir -p name;

а стоит добавить в path файл sh.exe и происходит великое чудо - все работает. проврил несколько раз.

@vphys если я правильно понял то в tootchain от sysprogs утилиты sh.exe штатно нет ? (я изначально им проект пытался собрать) как тогда он вообще работает :)
 

Sanya_kv

New member
Очень долго разбирался с проблемой прошивки:
Код:
load 0x40100000, len 30600, room 16
tail 8
chksum 0xef
load 0x33333333, len 858993459, room 0
flash read err, ets_unpack_flash_code
ets_main.c
Проблема возникала даже в простом примере Hello World
Источник ошибки в разных регистрах значений параметров в Makefile:
# SPI_MODE: qio, qout, dio, dout
SPI_MODE ?= dio

При этом далее по тексту:
ifeq ($(SPI_MODE), DIO)
в результате flashimageoptions был равен -ff 40m -fm qio -fs 32m вместо -ff 40m -fm dio -fs 32m
т.к. режим spi falsh был dio возникала данная ошибка.

Для исключения в дальнейшем проблем необходимо в примерах привести значения параметров к одному регистру.
 

-VenoM-

New member
Ребята, прошу помощи с
GitHub - CHERTS/esp8266-noolite: Example using ESP8266 and nooLite MT1132
Скачал, при компиле выдаёт:

C:/esp8266-noolite-master/Makefile:187: recipe for target 'build/app.out' failed
process_begin: CreateProcess(NULL, c:/Espressif/utils/ESP8266/esptool.exe elf2image build/app.out -ofirmware/ -ff 40m -fm qio -fs 4m, ...) failed.
make (e=2): Не удается найти указанный файл.

mingw32-make.exe: *** [build/app.out] Error 2

Какой не может найти файл - непонятно. При двойном клике на ошибку кидает на строку 187 $(vecho) "LD $@"
Сборка компилятора вся автора статьи. Предыдущий проект работал, а тут увы:(((
Работа с ESP8266: Пишем прошивку для управления системой nooLite
 

-VenoM-

New member
Спасибо, вы оказались правы. Хотя... в старом makefile всё работало именно так:
[HASHTAG]#ESPTOOL[/HASHTAG] ?= $(SDK_TOOLS)/esptool.exe
Заменил эту строку на подробный путь:
ESPTOOL ?=C:\Espressif\utils\esptool.exe

И оно компильнулось.

P.S. Пишу под PIC, понадобилось сделать удалёнку (проц общается с ESP8266 по SPI, ESP шлёт данные на сервак). Всегда материл microchip, но по сравнению с китай-процом они просто боги удобства отладки:))). Однако альтернативы нет с готовым WIFI-стеком, тем более за эти деньги. Так что буду дальше проламывать головой стену.
 

-VenoM-

New member
Вот всё что выдаёт при компиляции с ошибкой:

Код:
16:43:21 **** Build of configuration Default for project esp8266-noolite ****
mingw32-make.exe -f C:/esp8266-noolite-master/Makefile flash
CC driver/uart.c
CC user/utils.c
CC user/wifi.c
CC user/noolite_config_server.c
CC user/user_main.c
CC user/noolite_control_server.c
CC user/flash_param.c
CC user/noolite_platform.c
AR build/app_app.a
LD build/app.out
------------------------------------------------------------------------------
Section info:

build/app.out:     file format elf32-xtensa-le

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         000007b4  3ffe8000  3ffe8000  000000e0  2**4
                  CONTENTS, ALLOC, LOAD, DATA
  1 .rodata       00001724  3ffe87b8  3ffe87b8  00000898  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .bss          00006448  3ffe9ee0  3ffe9ee0  00001fc0  2**4
                  ALLOC
  3 .text         00006e0a  40100000  40100000  00001fbc  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  4 .irom0.text   0002f714  40240000  40240000  00008dd0  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
------------------------------------------------------------------------------
C:/esp8266-noolite-master/Makefile:189: recipe for target 'build/app.out' failed
process_begin: CreateProcess(NULL, c:/Espressif/utils/ESP8266/esptool.exe elf2image build/app.out -ofirmware/ -ff 40m -fm qio -fs 4m, ...) failed.
make (e=2): Не удается найти указанный файл.

mingw32-make.exe: *** [build/app.out] Error 2

При успешной компиляции, с подробным путём к
esptool.exe

Код:
16:48:28 **** Build of configuration Default for project esp8266-noolite ****
mingw32-make.exe -f C:/esp8266-noolite-master/Makefile all
CC driver/uart.c
CC user/utils.c
CC user/wifi.c
CC user/noolite_config_server.c
CC user/user_main.c
CC user/noolite_control_server.c
CC user/flash_param.c
CC user/noolite_platform.c
AR build/app_app.a
LD build/app.out
------------------------------------------------------------------------------
Section info:

build/app.out:     file format elf32-xtensa-le

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         000007b4  3ffe8000  3ffe8000  000000e0  2**4
                  CONTENTS, ALLOC, LOAD, DATA
  1 .rodata       00001724  3ffe87b8  3ffe87b8  00000898  2**3
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .bss          00006448  3ffe9ee0  3ffe9ee0  00001fc0  2**4
                  ALLOC
  3 .text         00006e0a  40100000  40100000  00001fbc  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  4 .irom0.text   0002f714  40240000  40240000  00008dd0  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
------------------------------------------------------------------------------
   Section|                   Description| Start (hex)|   End (hex)|Used space
------------------------------------------------------------------------------
      data|        Initialized Data (RAM)|    3FFE8000|    3FFE87B4|    1972
    rodata|           ReadOnly Data (RAM)|    3FFE87B8|    3FFE9EDC|    5924
       bss|      Uninitialized Data (RAM)|    3FFE9EE0|    3FFF0328|   25672
      text|          Uncached Code (IRAM)|    40100000|    40106E0A|   28170
irom0_text|             Cached Code (SPI)|    40240000|    4026F714|  194324
------------------------------------------------------------------------------
Entry Point : 40100004 call_user_start()
Total Used RAM : 33568
Free RAM : 48352
Free IRam : 4598 or 20982 if 48k IRam
------------------------------------------------------------------------------
Generate 0x00000.bin and 0x40000.bin successully in folder firmware.
0x00000.bin-------->0x00000
0x40000.bin-------->0x40000
Done
 

sharikov

Active member
v2.1.0 Beta (24.05.2016)
компилятор падает на объявлении констант при компиляции вычислений с плавающей точкой (float)
винда пишет "прекращена работа программы "cc1.exe"
в консоли сообщения:
error: floating constant truncated to zero [-Werror=overflow]
 

nikolz

Well-known member
Добрый день,
Проблема с новой сборкой UDK 2.2
Ставлю в common_nonos.mk
В (TARGET_OUT): $(APP_AR)
для вывода информации о распределении памяти следующую строку, которая работает в предыдущем UDK:
$(Q) $(ESPTOOL) elf2image $(TARGET_OUT) -o$(FW_BASE)/ $(flashimageoptions)
получаю ошибку:
12:43:57 **** Build of configuration Default for project 1wire_ds18b20 ****
mingw32-make.exe -f C:/Espressif/examples/ESP8266/1wire_ds18b20/Makefile all
CC driver/uart.c
CC driver/ds18b20.c
CC user/user_main.c
AR build/app_app.a
LD build/app.out
Run objcopy, please wait...
Traceback (most recent call last):
File "esptool.py", line 26, in <module>
File "serial\__init__.pyo", line 27, in <module>
File "serial\serialwin32.pyo", line 15, in <module>
File "serial\win32.pyo", line 182, in <module>
File "ctypes\__init__.pyo", line 375, in __getattr__
File "ctypes\__init__.pyo", line 380, in __getitem__
AttributeError: function 'CancelIoEx' not found
../common_nonos.mk:230: recipe for target 'build/app.out' failed
mingw32-make.exe: *** [build/app.out] Error 255

12:44:03 Build Finished (took 5s.468ms)
Как исправить?
Спасибо
 

CHERTS

Moderator
Команда форума
Как исправить?
Спасибо
Error on Python serial import

Проблема в pyserial под WinXP, если фиксы для исправления этой беды не внесли в pyserial, то вот они
fix CancelIoEx not found on old windows versions (2003, XP) · WorldException/pyserial@c4dd5a2 · GitHub

Добавлено:
Данные фиксы в pyserial не внесены, так что чтобы решить проблему нужно делать это самостоятельно, я внесу изменения в свою сборку в 2.2.1 (релиз сегодня-завтра)
 

vicvladol

New member
Доброго, всем, времени суток!

Устанавливал UDK по статье с geektimes.ru
Обстановка:
Win7 x64;
UDK 2.2.1
Делал все по инструкци, кроме одного: ставил все на диск Е (на С с местом напряженка).
Все пути, где только нашел, исправил. Проблему с вызовом при сборке проекта встроенных команд mkdir, mv и rm решил.
Мучаю проект hello_world. Получаю в консоли следующее:

Код:
18:32:16 **** Build of configuration Default for project hello_world ****
mingw32-make.exe -f E:/Espressif/examples/ESP8266/hello_world/Makefile all
"CC driver/uart.c"
"CC user/user_main.c"
"AR build/app_app.a"
"LD build/app.out"
"Run objcopy, please wait..."
"objcopy done"
"Run gen_appbin.exe"
���⥬� �� 㤠���� ���� 㪠����� ����.
no entry point!!
/usr/bin/mv: cannot stat `eagle.app.flash.bin': No such file or directory
../common_nonos.mk:230: recipe for target 'build/app.out' failed
mingw32-make.exe: *** [build/app.out] Error 1

18:32:20 Build Finished (took 4s.304ms)
Аьбракадабра после строки "Run gen_appbin.exe" - это так и выводится. Добавил в eclipse.ini сточку
-Dfile.encoding=UTF-8
не помогло. Мои сообщения, которые я сам пытался выводить, стали русскими, а эта сторока понятней не стала.

Очевидно, что вызов
e:/Espressif/utils/ESP8266/gen_appbin.exe build/app.out 0 0 0 2 0
не находит какой-то entry point, ну и далее по списку...

Вопрос: Как с этим бороться, куда копать?
 

businka

New member
Устанавливал UDK по статье с geektimes.ru
Обстановка:
Win7 x64;
UDK 2.2.1
Делал все по инструкци, ставил на С.
Мучаю проект hello_world. Получаю в консоли следующее:
Код:
14:42:07 **** Build of configuration Default for project hello_world ****
mingw32-make.exe -f C:/Espressif/examples/ESP8266/hello_world/Makefile all
CC driver/uart.c
CC user/user_main.c
AR build/app_app.a
LD build/app.out
Run objcopy, please wait...
objcopy done
Run gen_appbin.exe
No boot needed.
Generate eagle.flash.bin and eagle.irom0text.bin successully in folder firmware
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x10000
Done
на девайс заливается но hello world не наблюдается. в c++ совсем новичек. помигите плз.

при комприляции на flesh разве такая строка должна быть
mingw32-make.exe -f C:/Espressif/examples/ESP8266/hello_world/Makefile flash
c:/Espressif/utils/ESP8266/esptool.exe -p COM4 -b 115200 write_flash -ff 40m -fm qio -fs 8m 0x00000 firmware/eagle.flash.bin 0x10000 firmware/eagle.irom0text.bin

напрягает последние два названия бинарников и их адреса, не такие как в примере
и на видио собирается оно через esptools.py. может в этом косяк?
пробую на nodemcu . не знаю имеет это значение или нет
 
Последнее редактирование:
Сверху Снизу