• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Ошибки при сборке примеров в UDK

Alex

Member
UDK собран на Win7 x64

Возможно стоит собрать компилятор на x86 системе, займусь этим на сл.неделе. Просто нет под руками x86
У меня все сегодня установлено на чистую Win 7 64. Все файлы скачаны по вашим ссылкам и установлены по Вашей инструкции.
ошибка с floating осталась.
 

sharikov

Active member
У меня все сегодня установлено на чистую Win 7 64. Все файлы скачаны по вашим ссылкам и установлены по Вашей инструкции.
ошибка с floating осталась.
Аналогично только установлено на два компьютера: один Win7 64bit, другой Win7 32bit. float одинаково не работает на обоих.
 

Ondreyk

New member
Вот тут про эту проблему говорится, как я понимаю: http://stackoverflow.com/questions/5124949/how-to-disable-gcc-warning-floating-constant-exceeds-range-and-floating-const .
Правильно я понимаю что, там речь идет всего лишь об переводе статуса ошибки в статус предупреждения?
Пробовал убрать флаг Werror в Makefile, да сыплется куча предупреждений, но сама проблема не решается ведь? Или там о другом?

После комента Werror, компилятор крашится сошибкой либо, завершает компиляцию с ошибкой
Код:
c_math.c:110:9: warning: floating constant truncated to zero [-Woverflow]
         w2 -= 0.0625;
         ^
c_math.c:115:9: internal compiler error: Segmentation fault
 

nikolz

Well-known member
UDK (esp_iot_sdk_v1.3.0_15_08_08 )
на XP
собирает примеры,
кроме esp_mesh_sdk_app_light,
без ошибок.
-----------------------
а вот
UDK ( esp_iot_sdk_v1.5.0_15_11_27)
на XP
уже дает ошибки в пяти примерах.
-------------------------
 
Последнее редактирование:

Ondreyk

New member
Получилось собрать проекты после самостоятельно пересборки xtensa. Правда достигнуть Done в сборке xtensa не получилось, но проекты с ней все равно собираются отлично. Я даже последний git nodemcu-frimware c ветки master смог собрать (не без мелких правок конечно).
 
Последнее редактирование:

CHERTS

Moderator
Команда форума
Получилось собрать проекты после самостоятельно пересборки xtensa
На какой ОС пересобирали компилятор, разрядность ОС?

P.S. Если возьмете текущий свежий build-xtensa-lx106-elf.sh (я его буквально вчера пофиксил), то с ним компилятор собирается от и до без ошибок до Done
 

CHERTS

Moderator
Команда форума
Вобщем такс...
Поставил только что на VirtualBox - Windows 7 x86 + SP1, далее MinGW + нужные пакеты с помощью моего же скрипта как описано в п.5-6 вот тут

Кстате! Внимание
, не так давно товарищи из MinGW сделали обновление базового компилятора, раньше ставился gcc 4.7.x, а сейчас ставится 5.3.0, в связи с этим я переписал install-mingw-package.bat чтобы он стягивал актуальный архив с кэшем пакетов mingw с моего сайта, в принципе кэш и не нужен, но я столкнулся буквально вчера с проблемой, что некоторые пакеты для mingw не смогли скачаться с сервера mingw, скачались пустышки с ошибками, и mingw-get успешно их пережевал и сказал, что все ОК, все пакеты проинсталлировались, на деле вышло, что в среде mingw не оказалось таких базовых программ как mkdir и прочее, а так же оказался неполным perl, а он жизненно важен для сборки gcc. Так что лучше не ставить доп.пакеты с помощью моего скрипта, но в нем кэш для свежей версии mingw с gcc 5.3, то есть по нормальному нужно удалить всю папку C:\MinGW и поставить MinGW заново.

Идем дальше, Windows 7 x86 + SP1, далее MinGW, python-2.7.12, далее ставлю мой UDK 2.1.0, открываю Коммадную строку (в папке C:\Espressif\ есть ярлык "Командная строка Unofficial Development Kit for Espressif ESP8266"), Eclipse мне пока не нужен, в командной строке перехожу по примерам, зашел в те примеры на которые были ошибки у nikolz - esp8266_ili9341, i2c_bmp180, i2c_htu21d и пр. и никаких ошибок floating constant truncated to zero при сборке, все успешно собирается.

Вот такие пироги. Так что дело не в ОС и не в UDK, дело скорее всего... даже не знаю в чем, я грешу на MinGW...

Снесите MinGW и поставьте заново как описано у меня в п.5-6 вот тут
 

Ondreyk

New member
Код:
Имя узла:                         *
Название ОС:                      Microsoft Windows 7 Профессиональная
Версия ОС:                        6.1.7601 Service Pack 1 сборка 7601
Изготовитель ОС:                  Microsoft Corporation
Параметры ОС:                     Изолированная рабочая станция
Сборка ОС:                        Multiprocessor Free
Зарегистрированный владелец:      **
Зарегистрированная организация:   ***
Код продукта:                     ***
Дата установки:                   18.04.2015, 14:08:10
Время загрузки системы:           03.09.2016, 0:08:01
Изготовитель системы:             Gigabyte Technology Co., Ltd.
Модель системы:                   P31-DS3L
Тип системы:                      x64-based PC
Процессор(ы):                     Число процессоров - 1.
                                  [01]: Intel64 Family 6 Model 15 Stepping 11 GenuineIntel ~2333 МГц
Версия BIOS:                      Award Software International, Inc. F10A, 30.07.2008
 
Последнее редактирование:

sharikov

Active member
Так что дело не в ОС и не в UDK, дело скорее всего... даже не знаю в чем, я грешу на MinGW...
Снесите MinGW и поставьте заново как описано у меня в п.5-6 вот тут
SysGCC исправно компилирует float на той же машине где проблемный UDK (т.е MinGW одинаковый). На float падает CC1.exe с диагнозом "segmentation fault". Проверьте системные зависимости при сборке, может библиотеки не те.
Я бы с радостью ушел на SysGCC (или на любой другой работающий компилятор) да "свалка" pvvx гвоздями прибита к библиотекам UDK а в SysGCC библиотеки отличаются из-за чего проект не собирается. Примеры основанные на чистом SDK собираются.
 

Alex

Member
Переставил MinGW. Все та же проблема. Вопрос к тем у кого такой проблемы нет. Windows часом не английская версия?

Setting environment for using Unofficial Development Kit for Espressif ESP8266 t
ools.

C:\Espressif\examples\ESP8266>cd i2c_bmp180

C:\Espressif\examples\ESP8266\i2c_bmp180>make
CC driver/i2c_bmp180.c
driver/i2c_bmp180.c: In function 'BMP180_CalcAltitude':
driver/i2c_bmp180.c:299:2: error: floating constant truncated to zero [-Werror=o
verflow]
return (int32_t)(pow(((float)MYALTITUDE/44330)+1,5.255F)*pressure);
^
cc1.exe: all warnings being treated as errors
make: *** [build/driver/i2c_bmp180.o] Error 1

C:\Espressif\examples\ESP8266\i2c_bmp180>
 
Последнее редактирование:

Alex

Member
Вообщем поменял я файл cc1.exe на файл из версии UDK 209. И все пучком :)
 

pvvx

Активный участник сообщества
Переставил MinGW. Все та же проблема. Вопрос к тем у кого такой проблемы нет. Windows часом не английская версия?
Русская WIN7 'Максимальная' x64, ставилась при появлении (не переставлялась, прошла все обновления - захламлена по самое...) Ошибок с float нет.
Может беда с региональными установки всяких разделителей? Ну там запятая или точка....
 

Alex

Member
Странно все это однако.

Setting environment for using Unofficial Development Kit for Espressif ESP8266 t
ools.

C:\Espressif\examples\ESP8266>cd i2c_BMP180

C:\Espressif\examples\ESP8266\i2c_bmp180>make clean

C:\Espressif\examples\ESP8266\i2c_bmp180>make
CC driver/i2c.c
CC driver/i2c_bmp180.c
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

C:\Espressif\examples\ESP8266\i2c_bmp180>
 

nikolz

Well-known member
Странно все это однако.

Setting environment for using Unofficial Development Kit for Espressif ESP8266 t
ools.

C:\Espressif\examples\ESP8266>cd i2c_BMP180

C:\Espressif\examples\ESP8266\i2c_bmp180>make clean

C:\Espressif\examples\ESP8266\i2c_bmp180>make
CC driver/i2c.c
CC driver/i2c_bmp180.c
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

C:\Espressif\examples\ESP8266\i2c_bmp180>
Немного поспешил с ответом.
Осталось два примера с ошибками:
esp8266_ili9341
rboot
 

nikolz

Well-known member
ошибка esp8266_ili9341 удаляется заменой cc1plus, так как этот пример сделан на C+
Т е если взять трансляторы из версии
xtensa-lx106-elf\libexec\gcc\xtensa-lx106-elf\5.1.0
и поставить их в
xtensa-lx106-elf\libexec\gcc\xtensa-lx106-elf\5.2.0
то ОШИБОК нет в sp8266_ili9341
-----------------------
т е причина ошибок gcc\xtensa-lx106-elf\5.2.0
остался пример rboot с ошибкой
 
Последнее редактирование:
Сверху Снизу